Excel使用宏更改列格式

时间:2013-02-22 16:55:31

标签: excel excel-vba ms-office excel-formula office-2007 vba

如果列名中有单词COST,则使用宏为excel将列格式更改为货币。

如果列名是 - "最终成本"或"总成本"或"项目成本" 然后将列格式更改为货币。

由于

3 个答案:

答案 0 :(得分:3)

尝试类似

的内容
Public Sub FormatCostColumnsAsCurrency()

  Dim sht As Worksheet
  Set sht = ActiveSheet

  Dim rng As Range
  Dim i As Integer

  For i = 1 To sht.UsedRange.Columns.Count

      Set rng = sht.Cells(1, i)
      If InStr(LCase(rng.Text), "cost") > 0 Then
          sht.Columns(i).NumberFormat = "$#,##0.00"
      End If

  Next

End Sub

答案 1 :(得分:0)

您可以使用Conditional Formatting执行此操作,无需宏。

  1. 突出显示表格左栏中的单元格。

  2. 在功能区的Home部分,点击Conditional Formatting,然后点击New Rule

  3. Use a formula to determine which cells to format

  4. 输入此公式。如果您的行标题未在A1中开头,请相应更改:=SEARCH("cost",A$1,1)

  5. 点击Format并将Number设置为Currency,然后点击确定。

  6. Conditional Formatting Rules Manager中,设置Applies to以覆盖您的桌子。

答案 2 :(得分:0)

尝试以下代码

Sub CurrFormat()
    Dim colHeader As Range
    Set colHeader = Range("A1:E1")

    Dim currCell As Range
    Set currCell = Cells.Find("COST")

    If Not currCell Is Nothing Then currCell.NumberFormat = "$#,##0.00"

End Sub