我是VBA的新手,我有一个范围,当范围内的值小于0时,我会将该值乘以1000,然后使用NumberFormat
方法更改其格式。但不知怎的,它不起作用。错误代码在此行:RngToThousand.NumberFormat = "$-#,##0,""K"""
。错误说“需要对象”,我猜数据类型有问题。 Anyhelp将不胜感激,谢谢。
以下是我的代码:
Dim Rng As Range
Dim RngToNum As Range
Set RngToNum = Range("H2:J21")
For Each Rng In RngToNum
If Rng.Value < 0 Then
RngToThousand = Rng.Value * 1000
RngToThousand.NumberFormat = "$-#,##0,""K"""
Else: Rng.NumberFormat = ""
End If
Next
答案 0 :(得分:1)
NumberFormat需要一个像Range这样的对象,而你的RngToThousand变量不是一个对象。我测试了以下内容并且工作正常:
If Rng.Value < 0 Then
Rng.Value = Rng.Value * 1000
Rng.NumberFormat = "$-#,##0,""K"""
...