Excel 更改范围的数字格式
我想用变量rng定义范围B4:lastCell,然后对其应用“0.000”数字格式。我无法正确设置范围 编辑:我收到运行时错误“424”:当我的代码到达行集合rng=[B4:LastCell]时需要项目。请尝试以下操作:Excel 更改范围的数字格式,excel,vba,Excel,Vba,我想用变量rng定义范围B4:lastCell,然后对其应用“0.000”数字格式。我无法正确设置范围 编辑:我收到运行时错误“424”:当我的代码到达行集合rng=[B4:LastCell]时需要项目。请尝试以下操作: Sub FormatThreeDecimals() Dim ws As Worksheet Dim rng As Range Dim lastCell Set ws = Worksheets("Summary") lastCell = Cells.Find(What:="*"
Sub FormatThreeDecimals()
Dim ws As Worksheet
Dim rng As Range
Dim lastCell
Set ws = Worksheets("Summary")
lastCell = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).Select
Set rng = [B4:LastCell]
Range("rng").NumberFormat = "0.000"
End Sub
Range(rng)
不是“rng”
,因为这是您的变量,我已经切换了该部分,谢谢。我仍然对设置rng=[B4:LastCell]的部分存在问题,我认为这是不正确的方法或语法。使用[]
意味着评估。您需要写入范围(“B4:B”和单元格(4,2).end(xldown).row)
或类似的内容。如果此方法会截断数字,我如何将其调整为舍入到2位小数?我添加了ActiveWorkbook.PrecisionAsDisplayed=True,现在存储的值与显示的值匹配,但我怀疑这是四舍五入还是只是进一步截断了它?
Dim lastCell As Range
Set ws = Worksheets("Summary")
Set lastCell = ws.Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious)
Set rng = ws.Range("b4", lastCell)
rng.NumberFormat = "0.000"