如何在vba中的循环内使用NumberFormat方法

我是新的VBA,我有一个范围,当范围内的值小于0,那么我将乘以1000,然后通过使用NumberFormat方法更改其格式。 但不知何故,这是行不通的。 错误代码在这一行: RngToThousand.NumberFormat = "$-#,##0,""K""" 。 错误说“对象需要”,我猜数据types有问题。 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 

NumberFormat需要一个对象,如Range,而你的RngToThousandvariables不是一个对象。 我testing了以下,它工作正常:

  If Rng.Value < 0 Then Rng.Value = Rng.Value * 1000 Rng.NumberFormat = "$-#,##0,""K""" ...