string_trim="" for i=0 to 100 string_trim = string_trim & "sheet" & i & "," next string_trim=left(string_trim,len(string_trim)-1) sheets(array(string_trim)).select
for i=3 to 10 Sheets("Sheet" & i).select Sheets("Sheet" & i).activeate activewindow.selectedsheets.delete next
具体怎么删我记不太清楚,这是照着你给的代码和思路写的特地去扒了Excel试验Dim i As Long Excel.Application.DisplayAlerts = False For i = 3 To 6 Sheets("Sheet" & i).Delete Next
你要达到的目的可以参考下面的方法: Sub Test() Dim strShts$(), i&
ReDim strShts(8) For i = 3 To 10 strShts(i - 3) = "Sheet" & i Next Application.DisplayAlerts = False '不显示警告框. Sheets(strShts).Delete '删除 strShts() 数组元素指定的所有表.
End Sub 其实把表一个一个的删除也是一样的。========================================== 刚才我在 Excel 中试了一下,看来我在 6F 说的“在某个特定的时刻,一个 WorkBook 中只有一个 WorkSheet对象是被选定的”是不正确的。
for i=0 to 100
string_trim = string_trim & "sheet" & i & ","
next
string_trim=left(string_trim,len(string_trim)-1)
sheets(array(string_trim)).select
二楼结果
"sheet1,sheet2,sheet3,.......,sheetn,"
3楼不是动态的大侠们,谢谢啦!
string_trim[i] = "sheet" & i
next
For i=3 to 7
Sheets("Sheet" & i).Select
'其它的操作代码:
'...........
'...........
Next
'
' Macro1 Macro
' 宏由 dingjiangbo 录制,时间: 2009-7-10
'
' 快捷键: Ctrl+f
'
Sheets(Array("Sheet10", "Sheet9", "Sheet8", "Sheet7", "Sheet6", "Sheet4", "Sheet5", _
"Sheet3")).Select
Sheets("Sheet6").Activate
ActiveWindow.SelectedSheets.Delete
End Sub上面是我录制的宏,但是我现在要求的是能够动态的删除多个SHEET
Sheets("Sheet" & i).select
Sheets("Sheet" & i).activeate
activewindow.selectedsheets.delete
next
Excel.Application.DisplayAlerts = False
For i = 3 To 6
Sheets("Sheet" & i).Delete
Next
Sub Test() Dim strShts$(), i&
ReDim strShts(8)
For i = 3 To 10
strShts(i - 3) = "Sheet" & i
Next
Application.DisplayAlerts = False '不显示警告框.
Sheets(strShts).Delete '删除 strShts() 数组元素指定的所有表.
End Sub
其实把表一个一个的删除也是一样的。==========================================
刚才我在 Excel 中试了一下,看来我在 6F 说的“在某个特定的时刻,一个 WorkBook 中只有一个 WorkSheet对象是被选定的”是不正确的。
这个很重要,要是我要删除100个SHEET,一个一个的去点太麻烦了