0
我有下標越界這一行的問題:程序錯誤標超出範圍......試過錯誤恢復
datasheet = wbook.Sheets("Month and Year")
我曾嘗試使用On Error Resume
,但我可能做錯了。
此代碼是假設成立年份和月份,這樣以後,我能當我創建一個新的工作表來使用它,並參考前面一個同樣名爲「預測月年」。之後,它會查看3列以驗證它是要複製並粘貼的行,然後將其建立在相應的工作表上。
Sub repeatingrows()
Dim wbook As Workbook
Set wbook = Application.ActiveWorkbook
'CHECKS THE MONTH TO INCREASE THE YEAR
Dim datasheet As Worksheet
datasheet = wbook.Sheets("Month and Year")
Dim m As Integer
Dim y As Integer
Dim t As Integer
For t = 2 To 13
For m = 1 To 13
If m = 13 Then
y = y + 1
m = 1
End If
Next m
m = .Cells(t, 1)
.Cells(t, 1) = .Cells(t, 2)
Next t
'MAKE NEW SHEET AND RENAME IT
Dim oldsheet As Worksheet
Dim newsheet As Worksheet
Set oldsheet = Application.ActiveSheet
oldsheet = Sheets("Forecast " & m & " " & y)
newsheet = Sheets("Forecast " & (m + 1) & " " & y)
Sheets.Add.Name = "Forecast " & (m + 1) & " " & y
'CHECK IF the 3 columns ARE SIMILAIR TO PREVIOUS PAGE
Dim rrow As Integer
For rrow = 3 To 500
If Sheets(3).Cell(rrow, 2) = Sheets(2).Cell(rrow, 2) Then
If Sheets(3).Cell(rrow, 5) = Sheets(2).Cell(rrow, 5) Then
If Sheets(3).Cell(rrow, 6) = Sheets(2).Cell(rrow, 6) Then
With newsheet
oldsheet.Range(oldsheet.Cells(rrow, 16), oldsheet.Cells(rrow, 19)).Copy
.Range(.Cells(b, a), .Cells(99, 51)).PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
End With '^COPY AND PASTES THE ROW
Else
End If
Else
End If
Else
End If
Next rrow
End Sub
我嘗試過,但沒有設置和wbook然後試圖wbook不集中。當然,我需要的只有兩個。 – MaxAttack102
其實,不,它仍然給我錯誤。這只是一個更重要的錯誤 – MaxAttack102
@ MaxAttack102「索引超出範圍」表示「Sheets」集合中沒有名爲「Month and Year」的工作表。檢查拼寫 - 這個答案是絕對正確的。還要注意,無論何時分配對象引用(而不是*值*),都需要** Set'關鍵字。 –