代码之家  ›  专栏  ›  技术社区  ›  NickV

如何根据列标题设置单个单元格类型的格式?

  •  0
  • NickV  · 技术社区  · 6 年前

    我有一个表格,第一行有一个标题,第二行有一个单位类型。这些单位类型是$、%等值。

    我想应用数字格式和四舍五入到单元格。

    下面的代码读取列并将格式应用于单元格,但我不知道如何对数字进行舍入。有什么建议吗?谢谢

    Sub Format()
    
    Dim lngCol As Long, i As Long
    Dim str As String
    
    lngCol = Cells(2, Columns.Count).End(xlToLeft).Column
    
    For i = 1 To lngCol
        Select Case Cells(2, i)
            Case "$": Columns(i).Style = "Currency"
            Case "%": Columns(i).Style = "Percent"
    End Select
    Next
    
    End sub
    
    0 回复  |  直到 6 年前
        1
  •  1
  •   Skin    6 年前

    试试这样,你可以根据需要调整它。。。

    Public Sub FormatCellsBasedOnString()
        Dim lngToCol As Long, lngCol As Long, lngToRow As Long
    
        With Sheet1
            lngToCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
    
            For lngCol = 1 To lngToCol
                lngToRow = .Cells(.Rows.Count, lngCol).End(xlUp).Row
                .Range(.Cells(3, lngCol).Address & ":" & .Cells(lngToRow, lngCol).Address).NumberFormat = .Cells(2, lngCol)
            Next
        End With
    End Sub
    

    它使用列的第二行中的数字格式来格式化它下面的单元格。选择真的是无穷无尽。将单元格格式化为所需格式,然后转到 自定义

    enter image description here

    我希望这是有道理的。

    推荐文章