如何将单元格地址存储到variablesVBA中

我正在编写一个简单的macros,在修改之后将修改后的值(在一张纸上)与其原始值(在另一张纸上)进行比较。 如果它们是不同的值,我希望这两个单元格被赋予一个黄色填充。

但是,当我试图存储目标单元格的地址时,我得到了一个types不匹配的错误。 据我所知,Target.Address返回一个string。 设置位置=目标位置的目标价值,而不是地址。 更改时如何在原始表单上引用相同的目标地址?

Dim Location as Range Private Sub Worksheet_Change(ByVal Target As Range) Set Location = Target.Address If Target.Value = Sheets("Original").Range("Location").Value Then Target.Interior.Pattern = xlNone Sheets("Original").Range("Location").Interior.Pattern = xlNone Else Target.Interior.Color = 255 Sheets("Original").Range("Location").Interior.Color = 65535 End If End Sub 

谢谢你的帮助!

 Dim Location as range Private Sub Worksheet_Change(ByVal Target As Range) Set Location =Sheets("Original").Range(Target.Address) If Target.Value = Location.Value Then Target.Interior.Pattern = xlNone Location.Interior.Pattern = xlNone Else Target.Interior.Color = 255 Location.Interior.Color = 65535 End If End Sub 

注意:如果Target是一个多单元格范围,则会引发错误,因为除非是单个单元格,否则无法在两个范围内比较Value。