我是宏的新手。我创建了一个非常简单的宏,它允许在工作表中格式化一系列单元格。宏在工作表中工作正常但是当我将文档保存为csv文件时,有几个尾随逗号。我知道尾随逗号是使用工作表的空值进行格式化的结果。我需要宏只格式化包含数据的单元格,但我还需要保留单元格的范围。这可能吗?我已经尝试了条件格式,CountA公式,IsEmpty宏和Is / Then / Else宏,但似乎没有任何效果。我提供了一个我一直在使用的数据示例,任何帮助将不胜感激。
Sub FormatDollarAmount()
Set MyCellRange = Range("F2:F51")
If (Not (IsEmpty("F2:F51"))) Then
Range("F2:F51").NumberFormat = "#,##0.00;_(@_)"
Else
End If
End Sub
答案 0 :(得分:0)
你可以遍历细胞:
Sub FormatDollarAmount()
Set MyCellRange = Range("F2:F51")
For each myCell in myCellRange
If (Not (IsEmpty(myCell))) Then
myCell.NumberFormat = "#,##0.00;_(@_)"
Else
End If
Next myCell
End Sub
答案 1 :(得分:0)
只要这是关于条件格式的标题,这里是一个条件格式响应,每次数据更改时都不需要重新运行。
with worksheets("sheet1")
with .range(.cells(2, "F"), .cells(.rows.count, "F").end(xlup))
.formatconditions.delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=sign(len($f2))"
.FormatConditions(.FormatConditions.Count).numberformat = "#,##0.00;_(@_)"
end with
end with