我正在创建一个宏,它将从一个更大的工作簿中选择工作表,将这些工作表移动并保存为一个新的工作簿,然后继续进行下一组操作。
我已经创建了一个伪"数组",其中包含起始和结束值(由工作表索引号指定)。
在完成保存文件的部分之后,在下一个工作表集合被提取之前,我遇到了一个"下标超出范围"的错误。
以下是我的代码。如果能帮助解决这个错误,将不胜感激。
我已经创建了一个伪"数组",其中包含起始和结束值(由工作表索引号指定)。
在完成保存文件的部分之后,在下一个工作表集合被提取之前,我遇到了一个"下标超出范围"的错误。
以下是我的代码。如果能帮助解决这个错误,将不胜感激。
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
编辑:美国中部时间下午4: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
循环
sheetarray
的原始值,然后再尝试创建它。 - Scott Holtzman