【发布时间】:2021-09-01 07:18:49
【问题描述】:
这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Dim ws As Worksheet
For Each c In Intersect(Target, Range("F9:N46"))
If c.Comment Is Nothing And c.Value <> "" Then
With c.AddComment
.Visible = False
.Text Application.UserName & ":" & Date & " - " & c.Value
End With
ElseIf Not c.Comment Is Nothing And c.Value <> "" Then
c.Comment.Text Application.UserName & ":" & Date & " - " & c.Value & vbNewLine & c.Comment.Text
End If
Next
End Sub
问题是,如果我编辑一个不在我定义范围内的单元格,我会收到如下错误:
我怎样才能使这项工作仅适用于单元格 F9:N46?
【问题讨论】:
-
docs.microsoft.com/en-us/office/vba/api/… 在尝试迭代之前,您必须检查 Intersect 返回的值。请参阅链接中的示例。