0
我收到「下標超出範圍」錯誤。我有兩本練習冊。我正在嘗試將VLOOKUP值從工作簿B的相應工作表中放入每張工作簿A.工作簿中的工作表名稱相同,但第一個工作簿在工作簿B中有一些沒有相應工作表的附加工作表。我要去哪裏錯誤。VLOOKUP With Another Worksheet
Sub Update1()
Dim x As Integer
Dim y As Integer
x = ActiveWorkbook.Sheets.Count
For y = 1 To x
Dim wsheet As String '1
Dim wrange As Range '2
wsheet = ActiveWorkbook.Worksheets(y).Name '3
Set wrange = Application.Workbooks("2012SWD.xlsx").Worksheets(wsheet).Range("A1:G100") '4
For n = 1 To 100
If SOME CONDITION Then
Sheets(y).Range("T" & n).Value = WorsheetFunction.VLookup("A" & n, wrange, 3, False)
End If
Next n
Next y
End Sub
問題是與更多的行1,2,3,4之一
某些條件Left(Sheets(y).Range("A" & n), 2) Like "CA"
或者:'ActiveWorkbook'有
ActiveWorkbook有y張,cos我將活動工作簿中的張數設置爲X,y取值爲1到X. 2012SWD.xlsx已打開。前兩種可能性被完全排除,您突出顯示的第三種可能性是錯誤信息的原因。我在不存在的工作表上設置範圍變量。 –
我解決了這個問題,單獨爲在工作簿B中具有相應工作表的工作表單獨運行宏,而不是在其他工作簿中的工作表中使用VBA循環。即使其中一個工作表沒有匹配,下標超出範圍也會顯示。是否有任何錯誤抑制功能可以檢查'SubScript超範圍響應'? –