此代碼在單元格A8或A17(取決於哪個切換處於活動狀態)中拋出了#VALUE錯誤,而不是來自「dataWeaponField」命名範圍的字符串值。 (例如)單元格A17中的Excel公式可正常工作:= VLOOKUP(B17,dataWeaponField,2,FALSE)。我試圖簡單地在VBA中複製這個公式。Excel VBA VLOOKUP中的命名範圍#VALUE錯誤
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 7 Then 'CLICK TO SWAP WEAPONS
If Range("A8").Interior.ColorIndex = 6 Then 'Primary Weapon
Range("A8:C15").Interior.ColorIndex = 12 'Primary Weapon
Range("A17:C24").Interior.ColorIndex = 6 'Secondary Weapon
Range("A8").Value = "" 'Primary Weapon
Range("A17").Value = Application.VLookup(Range("B17"), ThisWorkbook.Names("dataWeaponField"), 2, False)
Else
Range("A8:C15").Interior.ColorIndex = 6 'Primary Weapon
Range("A17:C24").Interior.ColorIndex = 12 'Secondary Weapon
Range("A8").Value = Application.VLookup(Range("B8"), ThisWorkbook.Names("dataWeaponField"), 2, False)
Range("A17").Value = "" 'Secondary Weapon
End If
Range("A6").Select 'Cell above CLICK TO SWAP WEAPONS
End If
End Sub
第一個解決方案拋出錯誤: – chazcon
@chazcon它與您在問題描述中所做的相同「例如,單元格A17中的Excel公式正常工作:= VLOOKUP(B17,dataWeaponField,2,FALSE)」 – Slai
這兩個解決方案都能很好地工作,謝謝。 – chazcon