检查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.NameSheet.Name