【发布时间】:2019-11-21 17:27:09
【问题描述】:
我尝试过 Dim CellA As Long、As Integer 和 As Range 尝试保存单元格的地址。在这个例子中,(使用 Range)我得到了
运行时错误 91 对象变量或未设置块变量
第 4 行:CellA = Cells(ActiveCell.Row - 1, 1)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ColA As String
Dim ColB As String
Dim CellA As Range
CellA = Cells(ActiveCell.Row - 1, 1)
If (Len(Cells(ActiveCell.Row - 1, 1) > 0)) Then
ColA = CleanCode(Cells(ActiveCell.Row - 1, 1))
ColB = CleanCode(Cells(ActiveCell.Row - 1, 2))
If (ColA <> ColB) Then
MsgBox (Cells(ActiveCell.Row - 1, 2))
Range(Cells(ActiveCell.Row - 1, 1)).Select
End If
End If
End Sub
我想用变量引用替换我所有的 Cells(ActiveCell.Row...) 引用,包括我的范围选择(这显然不能正常工作)。
仅供参考:当我在 A 列单元格中键入的内容与 B 列单元格不匹配时,此例程会生成一个消息框,其中包含(隐藏的)B 列单元格的内容。我写它是为了帮助我记住我的台词以用于我的视频头像。
【问题讨论】:
-
错误信息很清楚——你有一个不是
Set的对象变量。 -
同意。我理解这个论点是要求不同类型的变量。我把对象这个词作为一个通用术语而不是变量类型。没有借口。