发布网友 发布时间:2024-01-05 03:47
共1个回答
热心网友 时间:2024-03-16 19:20
如何用excel vba一次删除工作簿中的除第一张之外的所有工作表 没分哟,加分
For i = 2 To 10
Sheets(i).Select
ActiveWindow.SelectedSheets.Delete
Next i
如果有10个表的话,最好是前面加一句错误处理。
可以在Excel表格中用下面的VBA程式实现:
Sub Test() '开启当前目录下档案,将Sheet1资讯复制到汇总表上
Dim f$
Dim n&
Mypath = ThisWorkbook.Path & "\"
f = Dir(Mypath & "*.xls*")
Do While f > " "
n = n + 1
Workbooks.Open Mypath & f
Set c = ActiveWorkbook
arr=sheet1.UsedRange
c.Close
Cells(n, 1).resze(Ubound(arr,1),Ubound(arr,2)) =arr
n=n+Ubound(arr,1)
f = Dir
Loop
End Sub
如果这些档案在同一资料夹下,例如 d:\dir\
可以用vba完成.
执行excel>按住alt依次按f11,i,m
贴上下面的程式码后按f5即可实现你的想法.
Sub 删除sheet2()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
p = "d:\dir\"
f = Dir(p & "*.xls")
Do While f <> ""
Workbooks.Open p & f
ActiveWorkbook.Sheets("Sheet2").Delete
ActiveWorkbook.Save
ActiveWindow.Close
f = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
重要提醒:sheet删除后无法恢复,请操作前确定自己要这么做.
点选下方工作表标签,选定你要删除的工作表.然后....
1.右键点要删除的工作表的标签,选删除,不可恢复.
2.或者,点编缉-->删除工作表,删除当前显示的工作表.
worksheets.count
这个语句可以统计工作表的个数,但是不包括独立的工作图表(charts)
要统计所有工作表,图表,用
sheets.count
如何快速删除工作簿里多个工作表
按著ctrl键,然后再依次点选要删除的工作表的表名,选完后,在任意一个被选中的工作表表名上右键点选,选择删除工作表即可。
VBA删除已开启工作簿,或者说如何用VBA删除自己正在开启的工作簿? Private Sub Workbook_Open()
Const ForReading = 1, ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("D:\delfile.vbs", ForWriting, True)
f.WriteLine "Set fso = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & ")"
f.WriteLine "A =" & Chr(34) & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & Chr(34)
f.WriteLine "fso.GetFile(A).Delete (True)"
f.WriteLine "fso.GetFile(WScript.ScriptFullName).Delete (True)"
f.Close
ActiveWorkbook.Close
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CreateObject("WScript.Shell").Run "D:\delfile.vbs"
End Sub
你在控制面板-资料夹选项-察看 里面选择隐藏已知型别档案的副档名就可以了.
如何用vba把多个工作簿的内容合并到一个工作表