检查select是否等于预定的范围
我写了一些代码,具有以下目的:用户必须在Sheet1上select一个范围,然后按下一个macros指定的button。 然后,macros将检查用户select的范围是否等于预定的范围,也在Sheet1上。 如果两个范围相同,则macros将selectSheet2并完成其他任务。 如果范围不相等,那么macros将停止。 这里是代码:
Sub Example_1() Dim OriginalSelection As Range Set OriginalSelection = Selection If Worksheets("Sheet1").Range("S8:AC8") = OriginalSelection Then Sheets("Sheet2").Select 'The macro will do other things here Else Exit Sub End If End Sub
这就是说,每当我尝试运行macros,我得到以下错误:
运行时错误“13”:types不匹配
有人知道问题在哪里吗? 我仍然试图绕过VBA的头!
谢谢 :)
要检查表单是否相同,则可以使用完整的地址:
If Selection.Address(0, 0, , 1) = "[Book1]Sheet1!S8:AC8" Then
要么
If Selection.Address(0, 0) = "S8:AC8" And Selection.Parent.Name = "Sheet1" Then
您可以尝试将Range.Address
与一行进行比较:
If Worksheets("Sheet1").Range("S8:AC8").Address(True, True, xlA1, True) = OriginalSelection.Address(True, True, xlA1, True) Then
第四个参数External = True
将返回完整范围,包括Workbook.Name
和Sheet.Name