对象需要私人小组
这是我在此的头一篇博文。 我只是写一个简单的button来计算我的经验,在Excel字符表,我很新,但我似乎无法find这段代码有任何问题。 它不断的在第2行返回一个“Compile Error:Object required”,我看过的所有东西都没有帮助。 我曾经有过几次错误,但这是一个问题,我是如何声明我的variables(我习惯了python)如果任何人都可以看看代码,也许给我一些提示,那将是非常感激。
Option Explicit Private Sub addXP_Click() Dim addXP As Integer Dim oldXP As Integer Dim newXP As Integer Dim Lv As Integer Set addXP = Sheet1.Range("G4").Value Set oldXP = Sheet1.Range("A4").Value Set newXP = addXP + oldXP Set Lv = Sheet2.Range("G4").Value Sheet1.Range("G3").ClearContents If newXP >= (Lv + 1) * 1000 Then Range(Sheet1!A4).ClearContents Set Sheet2.Range("G4").Value = Sheet2.Range("G4").Value + 1 End If End Sub
如果使用VBA,并试图给Integer
types的variables赋值,则不需要Set
,只需使用addXP = Sheet1.Range("G4").Value
。
您可以考虑使用Long
而不是Integer
。
注意 :使用Sheet1.Range("G4").Value
意味着使用工作表的CodeName
,而不一定是名称为“Sheet1”的工作表。
试试下面的代码:
Option Explicit Private Sub addXP_Click() Dim addXP As Long Dim oldXP As Long Dim newXP As Long Dim Lv As Long addXP = Sheet1.Range("G4").Value oldXP = Sheet1.Range("A4").Value newXP = addXP + oldXP Lv = Sheet2.Range("G4").Value Sheet1.Range("G3").ClearContents If newXP >= (Lv + 1) * 1000 Then Sheet1.Range("A4").ClearContents Sheet2.Range("G4").Value = Sheet2.Range("G4").Value + 1 End If End Sub