【问题标题】:Searching for a change in a cell and outputting address of changed cell搜索单元格中的更改并输出已更改单元格的地址
【发布时间】:2020-06-10 18:13:10
【问题描述】:

我正在开发一个宏,它将扫描一系列单元格并检测何时在此范围内输入了任何内容(N/A 除外)。然后它将单元格位置返回给用户。

这是我目前的代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim v, x As Range

For Each v In Range("E4:BJ14")
    If v.Value <> "N/A" And IsEmpty(v.Value) = False Then
        Set x = v.Address
        MsgBox x
    End If
Next v

当我有 MsgBox v 时,V 输出框中的文本,但我似乎无法输出地址。

有什么东西很明显是我遗漏的吗?

感谢您提供的任何帮助。

【问题讨论】:

  • .AddressString,而不是 Range
  • Dim v, x As RangeDim v As Range, x As Range 不同
  • v.Value &lt;&gt; "N/A" 只是在乞求Type Mismatch 错误。

标签: excel vba


【解决方案1】:

也许:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rInt As Range

    Set rInt = Intersect(Target, Range("E4:BJ14"))
    If rInt Is Nothing Then Exit Sub
    If rInt.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Target.Text = "N/A" Then Exit Sub

    MsgBox Target.Address
End Sub

(用于单单元格更改)
(不适用于由于公式重新计算而导致的更改)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2018-08-25
    • 2013-10-30
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多