樓主的數據是在名稱為 Sheet1 的工作表中,名稱為 Sheet3 的工作表內是沒有任何數據的。
第二個問題是妳的 rg1 和 rg2 的定義。以 rg1 為例:
rg1 = Range("a1:c3")
代表的是對壹個數組賦值,而不是定義 rg1 是壹個單元格區域。
根據妳後面的引用,應該將它定義為單元格區域才對:
Set rg1 = Range("a1:c3")
當然後面的區域引用直接寫 rg1 和 rg2 就行了。
修改後的完整的代碼如下:
Sub ad()
Dim i
Set rg1 = Range("a1:c3")
Set rg2 = Range("b2:d4")
i = Sheets("sheet1").UsedRange.Rows.Count
MsgBox i
Worksheets("Sheet1").Activate
Set isect = Application.Intersect(rg1, rg2)
If isect Is Nothing Then
MsgBox "Ranges do not intersect"
Else
isect.Select
End If
End Sub