在excel中如何使用vba命令实现批量删除指定名称的工作表

走过路过的帅哥靓姐们,懂的请多多指教小弟我,你的几句提语将可能对小弟来说是最大的帮助······谢谢了,谢谢·····
先谢谢楼上的解答,但是我要删除的不是静态制定的工作表,而是

如图所示的G列动态的,在后台利用命令调用G列中的字符串删除名称相应的工作表的,你看能不能再帮一下,不管如何还是万分感谢了······

按Alt + F11,双击ThisWorkbook,粘贴下面的代码:
Sub ouyangff()
On Error Resume Next
Application.DisplayAlerts = False
For i = 2 To [g65536].End(3).Row
a$ = Cells(i, 7)
Sheets(a$).Delete
Next
Application.DisplayAlerts = True
End Sub
按Alt + F11,回到你的画面所示的“表”中!
按Alt + F8,确定!
去试一试吧!!!
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-18
已修改。其中cells(2,7)表示第2行,第7列。如果要改到其他列,可以稍作修改。
Sub te()
Dim Arr1
On Error Resume Next
Application.DisplayAlerts = False
Arr1 = Range(Cells(2, 7), Cells(Cells(65536, 7).End(xlUp).Row, 7))
For Each i In Arr1
Sheets(i).Delete
Next
Application.DisplayAlerts = True
End Sub追问

先谢谢楼上的解答,但是我要删除的不是静态制定的工作表,而是

如图所示的G列动态的,在后台利用命令调用G列中的字符串删除名称相应的工作表的,你看能不能再帮一下,不管如何还是万分感谢了······

第2个回答  推荐于2016-07-10
代码及注释如下:
Sub shanchu()
Application.DisplayAlerts = False'关闭提示,否则每删除一个非空工作表,都会出现提示
For i = 2 To [g65536].End(3).Row'i从2到G列最后一个非空行数循环
Sheets(Cells(i, 7).Delete'将工作表名为G列对应的工作表删除
Next
Application.DisplayAlerts = True'开启提示
End Sub

在excel中如何使用vba命令实现批量删除指定名称的工作表?
按Alt + F11,回到你的画面所示的“表”中!按Alt + F8,确定!去试一试吧!!!

excel中怎么使用Vba批量删除指定文件夹下的所有文件?
1、首先新建一个excel文件并双击打开,打开后,按快捷键F12进行另存为,注意另存的格式要选择启用宏的工作簿,如下图所示:2、接着找到左上角的文件按钮,选择选项按钮,如下图所示:3、在弹出的对话框中选择信任中心,并选择信任中心设置,接着选择隐私选项,并把保存时删除个人信息的对号去掉,整体设...

如何快速删除excel工作簿中所有已定义的名称
1.按快捷键Alt+F11,打开VBA编辑器。在右侧的代码窗口中输入:Sub DeleteAllNames()Dim nm As Name For Each nm In ThisWorkbook.Names nm.Delete Next nm End Sub 2.将光标定位到这段代码中,单击工具栏中的“运行子过程\/用户窗体”按钮,或直接按F5键运行代码。该工作簿中的所有定义名称将被删...

Excel表格中用函数或VBA或其他方法批量去掉某些行
Private Sub CommandButton1_Click() Dim sh As Worksheet On Error Resume Next Set sh = Sheets("结果表") If Err.Number = 9 Then Set sh = Sheets.Add sh.Name = "结果表" Sheets("数据源").Columns("A:F").Copy sh.Cells(1, 1) End If Dim i As...

Excelvba删除工作表的代码和实例
ws = Worksheets(str)Application.DisplayAlerts = False ws.Delete Application.DisplayAlerts = True Exit Sub back:MsgBox "您要删除的工作表不存在!"End Sub 上面这段vba删除工作表的方法,如果需要经常使用,我们可以保存为宏,在需要的时候按快捷键ALT+F8调用,只要输入工作表名称即可删除工作表。

excel怎样批量删除多个指定行?
Excel批量删除多个工作簿的指定工作表指定行,只能用VBA编程来实现,具体操作如下:第一步:按Alt+F11组合键打开VBA编辑器;第二步:依次单击“插入”菜单”-“模块”;第三步:在代码框中编写代码,如下图:代码图 上图的代码含义是:利用For循环语句循环10次,删除从第一个工作簿(此处用变量i代替...

Excel VBA批量删除指定sheet,sheet名称为shuju 需要完整代码,完整代码...
Sub1()Dim filepath As Stringfilepath = "d:\\test" '指定目录Dim file As Stringfile = Dir(filepath & "\\" & "*.xlsm") '提取目录下所有文件名,注意不会查询子目录。Do While file <> "" Dim Wb As Workbook Wb = Workbooks.Open(filepath & "\\" & file)'打开文件 Di...

EXCEL中如何用VBA删除多个工作表?
打开一个Excel文件,鼠标右击下面的工作表(如sheet1)。选择“查看代码”,就可以打开VBA编辑界面。选择如下图所示的下拉菜单,选择“worksheet”。选择如下图所示的下拉菜单,选择对应的触发模式。这里我们选择BeforeDoubleClick,意思就是说:在本工作表鼠标双击(之前),将触发下面的代码程序。(activate...

vba 批量删除工作簿
1.打开一个隐藏了很多工作表的excel文件。2.执行:文件 - 选项 - 信任中心 - 信任中心设置 - 文档检查器,如下图所示:3.在打开的【文档检查器】窗口中,选取“隐藏工作表”然后点击“检查”按钮。4.在文档检查器里面可以看到excel自动检测到我们当前工作薄一共隐藏了50个excel工作表。检查后点击“...

如何用vba语言 删除指定工作表
Sub stopDeleSheet()Application.CommandBars(1).Controls(2).Controls(12).Enabled = FalseEnd Sub运行后效果如图,如果放在工作簿打开事件中,就能对该工作簿自动生效。你也可以把这句代码放在模块中作为Excel加载项,这样就可以对所有Excel文档生效了 ...

相似回答