我正在创建一个宏,它将从较大的工作簿中选择工作表,将这些工作表移动并保存为新工作簿,然后移至下一组。数组下标超出范围
我创建了一个具有开始和结束值(由图纸索引号指定)的伪“数组”。
在完成保存文件的部分之后,但在拉动下一组工作表的循环之前,我遇到“下标超出范围”错误。
以下是我的代码。任何帮助这个错误,将不胜感激。
Dim Start As Integer
Dim Finish As Integer
Dim SR As Integer
Dim SC As Integer
Dim ER As Integer
Dim EC As Integer
SR = 2
SC = 5
ER = 2
EC = 6
Start = Sheets("REF").Cells(SR, SC).Value
Finish = Sheets("REF").Cells(ER, EC).Value
Dim sheetArray() As Double
Dim i As Integer
Dim c As Integer
i = 0
c = Start
lastrow = Cells(100, SC).End(xlUp).Row
Do Until SR = lastrow
Do Until c > Finish
ReDim Preserve sheetarray (0 to i)
i = i + 1
c = c + 1
Loop
Sheets(sheetarray).Copy
ActiveWorkbook.SaveAs Filename:= _ XXXXXXXXXXXXXXXXXX
C = Start
i = 0
SR = SR + 1
ER = ER + 1
Loop
编辑:16:35美国中部
目前,相关的代码块匹配的是上面,通过线lastrow = Cells(100, SC).End(xlUp).Row
做,直到SR = LASTROW
ReDim sheetArray(i)
Do Until c > Finish
ReDim Preserve sheetArray(i)
sheetArray(i) = c
i = i + 1
c = c + 1
Loop
Sheets(sheetArray).Copy
ActiveWorkbook.SaveAs Filename:= _
XXXXXXXXXXXXX
c = Start
i = 0
SR = SR + 1
ER = ER + 1
Loop
表索引从1开始 – Sorceri
什么行会给你一个错误? – Yaegz
我在“Sheets(sheetarray).copy”行获取错误,但是在循环运行一次后,创建第一个工作簿。 –