【问题标题】:How to store a cell address to variable VBA如何将单元格地址存储到变量 VBA
【发布时间】:2017-01-13 04:05:39
【问题描述】:

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

但是,我在尝试存储目标单元格的地址时遇到类型不匹配错误。据我了解, Target.Address 返回一个字符串。设置 Location = Target 为 location 提供目标的值,而不是它的地址。更改时如何在原始工作表上引用相同的目标地址?

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

感谢您的帮助!

【问题讨论】:

标签: vba excel variables onchange


【解决方案1】:
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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2020-12-01
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多