|
本帖最后由 要用就学 于 2013-7-27 20:36 编辑
Sub test()
Dim n%, i%, j%, arr(), p$, f$
n = Sheets.Count
If n > 4 Then
p = ThisWorkbook.Path & "\" (这一句的意思是P=当前工作簿放在所在的路径,对吗?)
f = Sheets(n).Name
ReDim arr(1 To n - 4)
For i = 5 To n
j = j + 1
arr(j) = Sheets(i).Name
Next i
Sheets(arr).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs p & f
ActiveWorkbook.Close
End If
End Sub
本帖最后由 爱疯 于 2013-7-27 21:34 编辑
ligh1298 发表于 2013-7-27 20:38
arr()是申明数组
ReDim arr(1 To n - 4)重新申明数组及维度,并能保留以前数据。
p = ThisWorkbook.Path ...
正如2楼所说。但要补充下:
ReDim arr(1 To n - 4)
这儿,arr是一维数组。是重新申明数组大小(此时也可看作修改维度,因为是一维,一维即最后一维),但不保留之前数据。
ReDim Preserve arr(1 To n - 4)
加了Preserve后,才保留之前数据。
如果是二维或多维,只允许修改最末维的大小。
|
|