精华内容
下载资源
问答
  • 怎么批量删除工作表
    千次阅读
    2018-04-05 10:58:17

    前言

    删除工作表是VBA代码开发过程中经常用到的操作,一行代码就可以完成,这有啥可讲的呢!?代码一执行,是否就看到下面这个令人烦的窗口跳出来了。

    此时,你就不得不点击【删除】按钮确认才可以删除工作表,如果要批量删除多个工作表,那么就需要不停的点击按钮,VBA代码实现自动化操作的目的就无法实现。

    解决方案

    Excel为了避免用户的误操作,每次删除工作表都会给出提示信息,用户确认后才会执行删除操作,这个机制是Excel的安全机制,无法取消。但是可以利用系统设置屏蔽这个提示信息,以实现无人干预的自动化操作。为了方便调用,将代码封装成独立的过程。

    Sub DelSheets(vShtName, Optional sWkName As String)
        Dim sName
        With Application
            .DisplayAlerts = False
            On Error Resume Next
            If Len(sWkName) > 0 Then
                Set objWk = ActiveWorkbook
            Else
                Set objWk = Workbooks(sWkName)
            End If
            If VBA.IsArray(vShtName) Then
                For Each sName In vShtName
                    objWk.Sheets(sName).Delete
                Next
            Else
                objWk.Sheets(sShtName).Delete
            End If
            On Error GoTo 0
            .DisplayAlerts = True
        End With
    End Sub

    DelSheets过程有两个参数:

    • vShtName是必选参数,用于指定需要删除的工作表名称, 可以单个工作表,也可以是多个工作表名称组成的数组。
    • sWkName是可选参数,用于指定工作表所隶属的工作簿。
      调用代码如下:
    '删除单个工作表
    Call DelSheets("Sheet1")
    '删除多个工作表
    Call DelSheets(Array("Sheet1","Sheet3","Sheet3"))

    代码解析

    此过程的核心代码如下:

    Application.DisplayAlerts = False
    On Error Resume Next

    第一行代码禁止显示系统告警信息,删除工作表时就不会出现提示对话框,在过程结束前,需要回复系统设置Application.DisplayAlerts = True
    第二行代码忽略系统错误,也就是忽略删除工作表可能产生的异常错误,在过程结束前,需要回复系统设置On Error GoTo 0

    VBA.IsArray(vShtName)用于判定参数vShtName是否是数组。

    • 如果vShtName是数组,则返回值为True,属于批量删除工作表。For Each sName In vShtName遍历数组中的元素(工作表名称),然后逐个删除。
    • 如果vShtName不是数组,那么就是单个工作表名称,可以直接进行删除操作。
    更多相关内容
  • Excel表格中如何批量删除工作表

    千次阅读 多人点赞 2022-04-15 11:44:10
    Excel表格中如何批量删除工作表 目录 Excel表格中如何批量删除工作表 1、工作表这么多,一个一个删除太费劲,如何让快速删除? 2、按住“ctrl”键选中工作表,工作表颜色变白,鼠标右键点击“删除”即可 1...

    Excel表格中如何批量删除工作表

    目录

    Excel表格中如何批量删除工作表

    1、工作表这么多,一个一个删除太费劲,如何让快速删除?

    2、按住“ctrl”键选中工作表,工作表颜色变白,鼠标右键点击“删除”即可


    1、工作表这么多,一个一个删除太费劲,如何让快速删除?

    2、按住“ctrl”键选中工作表,工作表颜色变白,鼠标右键点击“删除”即可

    安利一个R语言的优秀博主及其CSDN专栏:
    博主博客地址:

    Data+Science+Insight的博客_CSDN博客-R语言从入门到机器学习,数据科学从0到1,机器学习面试+横扫千军领域博主

    博主为CSDN数据科学领域知名博主(博客内容包括:数据科学从0到1、R语言从入门到机器学习、机器学习面试+横扫千军、Python编程技巧高效复用等系列) 毕业于中国科学院大学智能计算专业。研究方向为,数据挖掘、机器学习、深度学习等。深度参与了多项数据挖掘、计算机视觉以及自然语言处理相关项目,例如,社会计算、异常分析、聚类分析、预测分析、序列标记、语言生成、OCR、图像分类+检测+分割等。现任某茅数据科学家,负责数据科学团队的管理及项目实施。曾就职于中国信科集团,负责大数据与机器学习组的管理及项目实施。曾参与国家级医疗大数据平台机器学习项目的开发和建设、构建了完整的数据链路、特征池、模型仓库、迁移中心、数据应用、数据服务Pipeline,并与AWS中国基于AWS云服务合作开发大型工业互联网项目,积累了工业互联网模型构建、部署、监控实战经验。

    Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。

    在 Excel中,函数实际上是一个预先定义的特定计算公式。按照这个特定的计算公式对一个或多个参数进行计算,并得出一个或多个计算结果,叫做函数值。使用这些函数不仅可以完成许多复杂的计算,而且还可以简化公式的繁杂程度。

    我们生活的这个世界是丰富多彩的,几乎所有的知识都来自于视觉。也许无法记住一连串的数字,以及它们之间的关系和趋势。但是可以很轻松地记住一幅图画或者一个曲线。因此通过使用图表,会使得用Excel编制的工作表更易于理解和交流。
     

    展开全文
  • 在多个工作簿中批量删除工作表 import os #导入os模块 import xlwings as xw #导入xlwings模块 file_path = 'e:/table/text' #给出要新增工作表的工作簿所在的文件夹路径 file_list = os.listdir(file_path) #列出...

    在多个工作簿中批量新增工作表

    import os #导入os模块
    
    import xlwings as xw #导入xlwings模块
    file_path = 'e:/table/text' #给出要新增工作表的工作簿所在的文件夹路径
    file_list = os.listdir(file_path) #列出文件夹下所有文件和子文件夹的名称
    sheet_name = 'sheet_add' #给出要新增的工作表的名称
    app = xw.App(visible=False,add_book=False)
    for i in file_list:
        if i.startswith('~$'):#判断是否有文件名以“~$”开头的文件
            continue #如果有,则跳过这种类型的文件
        file_paths = os.path.join(file_path,i) #构造需要新增工作表的工作簿的文件路径
        workbook = app.books.open(file_paths) #根据路径打开需要新增工作表的工作簿
        sheet_names = [j.name for j in workbook.sheets] #获取打开的工作簿中所有工作表的名称
        if sheet_name not in sheet_names: #判断工作薄中是否不存在名为“sheet_add”的工作表
            workbook.sheets.add(sheet_name) #如果不存在,则新增工作表“sheet_add”
            workbook.save()
    app.quit()
    

    知识补充:

    第9行代码中的continue语句在案例四的代码中也出现过,它只能与for语句或while语句搭配使用,功能是跳过当前循环的剩余语句,然后继续进行下一轮循环,其运行流程如下图所示。continue语句通常配合if 语句使用,如第8行和第9行代码。
    在这里插入图片描述

    在多个工作簿中批量删除工作表

    import os #导入os模块
    
    import xlwings as xw #导入xlwings模块
    file_path = 'e:/table/text' #给出要新增工作表的工作簿所在的文件夹路径
    file_list = os.listdir(file_path) #列出文件夹下所有文件和子文件夹的名称
    sheet_name = 'sheet_delet' #给出要删除的工作表的名称
    app = xw.App(visible=False,add_book=False)
    for i in file_list:
        if i.startswith('~$'):#判断是否有文件名以“~$”开头的文件
            continue #如果有,则跳过这种类型的文件
        file_paths = os.path.join(file_path,i) #构造需要新增工作表的工作簿的文件路径
        workbook = app.books.open(file_paths) #根据路径打开需要新增工作表的工作簿
        for j in workbook.sheets:
            if j.name ==sheet_name: #判断工作簿中是否有名为“sheet_delete”的工作表
                j.delete() #如果有,则删除该工作表
                break
        workbook.save()
    app.quit()
    
    展开全文
  • 工作表的基础操作 上一章我们学习了工作表的一些操作,这一章就来学习一下对工作簿的操作 工作表和工作簿有什么区别呢? 一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表...

     

                                               工作表的基础操作

    上一章我们学习了工作表的一些操作,这一章就来学习一下对工作簿的操作

    • 工作表和工作簿有什么区别呢?

    一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表例如sheet1,也就是说工作簿是由工作表组成的。

    下面我们就来了解一下工作簿的操作

    • 打开工作簿

    Application.displayAlerts=false   //点击保存会有弹框出现,所以要先关闭弹框

    Application.screenUpdating =false   //操作工作簿桌面会出现闪动。也先关闭掉

    Workbooks.open filename:=”d:\data\1.xlsx”  //打开D盘data文件下的1.xlsx工作簿

    Activeworkbook.sheets(1).range(“a1”)=”到此一游”  // Activeworkbook表示当前活动的工作簿。Activeworkbook.sheets(1).range(“a1”)指当前活动的工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们真的打开过。

    Activeworkbook.Save  //保存一下刚刚做的修改

    Activeworkbook.close //关闭工作簿

    Application.displayAlerts=true   //开启

    Application.screenUpdating =true  //开启

     

    • 新建工作簿

    Application.displayAlerts=false

    Application.screenUpdating =false

    Workbooks.add  //新建一个工作簿

    Activeworkbook.sheets(1).range(“a1”)=”到此一游haha” //新建工作簿会自动打开,默认有一个sheet1工作表,我们在新建工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们的操作成功了。

    Activeworkbook.Save   //保存一下,新建文档默认会保存到文档目录下面,你可以手动新建一个工作簿直接点保存看一下默认地址。

    Activeworkbook.close  //关闭

    Application.displayAlerts=true

    Application.screenUpdating =true

     

    • 保存工作簿

    Activeworkbook.SaveAsfilename:=”d\data\2.xlsx”

     

    • 关闭工作簿

    Activeworkbook.close

     

    • Foreach 的用法

    前几章我们一张掌握了for的用法,今天来介绍for的另一种写法。。

    有点像php语言的写法,下面我们通过两段代码来更直观的了解for each

     需求1:将单元格A1 到A10 都赋值1

    For的写法:

    Dim i as integer For i=1 to 10    Range(“a” & i)=iNext

    For each的写法:

    Dim ra as range  For each ra in range(“a1:a10”)   ra=1  //上面我们定义了ra as range,ra是单元格类型,表示a1到a10单元格  Next

     

    需求2:将单元格A1 到A10 赋值为他们各自的下标

    For的写法:

    Dim i as integer For i=1 to 10    Range(“a” & i)=i  Next

     

    For each的写法:

    Dim ra as range     For eachra in range(“a1:a10”)       i=i+1    //  每次循环i+1,i初始值默认是0       Ra=i   //等价于range(“a”& i)= i    Next
    

    学会了for each 我们来实战一下

    案例1

    题目:

        除了叫“绝不能删”的表不删除外,批量删除工作簿中的其他表。

    分析:

       1. 要判断每一张表的名字,不等于“绝不能删”,执行删除操作

       2.要定义一个变量类型为工作表dim sht as worksheet

       3.执行删除操作会有提示弹框要事先关闭

    代码:

    sub del()Dim sht as worksheetApplication.displayAlerts=false  //执行删除操作会有弹框出现,所以要先关闭弹框  For each sht in sheets    If sht.name <>”决不能删” then      sht.delete    End if  NextApplication.displayAlerts=trueend sub
    

    案例2

    题目:

    将工作簿中的所有工作表另存为一个个excel文件,另存地址为d:\data

     

    代码:

    sub chaifen()
    
    For each sht in sheetsSht.copy    // copy不指定位置默认新建一个工作簿Activeworkbook.SaveAs filename:=”d\data\”& sht.name & ”.xlsx” //文件路径Activeworkbook.close//关闭Nextend sub
    

     结果如下图:

    对数据分析或者vba有兴趣的朋友可以关注我的公众号,我会在公众号里面发学习笔记,全是干货。一起学习一起成长!

     

     

     

     

    展开全文
  • 概要:我们有时候需要批量删除 Excel 文件的工作表,那么有没有一种快速的方法能够达到我们想要的目的呢?现在给大家介绍一种简单的方法去批量删除 Excel 工作簿中的工作表 Sheet,有了这个方法之后,我们想要删除...
  • WPS如何批量删除工作表

    千次阅读 2022-01-20 21:08:33
    如下图是某公司销售工作簿,工作簿中含有多张工作表,现在想要只保留总表,将其余工作表全部删除。 ​ 点击下图选项(Excel插件,百度即可了解详细的下载安装方法,本文这里不作详细叙述) 点击...
  • 尤其是当我们的工作表非常多的时候...入功能之后,第一步就是需要选择待处理文件,也就是选择需要批量删除空白工作表的Excel文档,由于是批量操作,所以我们完全可以一次性选择多个Excel文档。处理过程是非常快的。...
  • 在多个工作簿中批量删除工作表二 通过使用Python的xlwings模块,对Excel的工作簿和工作表批量删除操作 import os # 导入os模块 import xlwings as xw # 导入xlwings模块 file_path = 'E:\\pythonExample\\01' # ...
  • 「我的ABC软件工具箱」就实现了批量删除 Excel 指定工作表的功能,可以轻松实现对 Excel 文件的第一个工作表、最后一个工作表以及其他任何的指定工作表进行批量删除。操作非常的简单。 在我们日常办公中,经常会...
  • 我们再来看一个常用的功能——批量删除工作表。 在下表中,除了第一张表和第三张表,其他的表怎么全部删除(总共有几十张表),如果一个一个的删除非常麻烦,下面介绍一种更快捷的方法。 需要删除表的工作薄 ...
  • 1.如下图,excel工作表中有多张图片,现在领导要求我们将这些图片全部删除。 2.首先我们点击【图片工具】选项 ​ 3.接着鼠标点击【删除图片】 4.勾选【当前表】 5.点击确定 ...
  • 代码】利用VBA批量新建工作表以及重命名,删除除指定以外的工作表
  • 今天跟大家分享一下Excel...3.点击【批量删除】,选择【删除空行/列】 4.单击【删除空列】 5.单击【本的所有空列】,点击【确定】 6.单击【是】 7.设置完成,完成效果如下图 ...
  • ExcelVBA 宏 一键删除其他所有工作表
  • 一键删除特定名称的工作表
  • Sub delSheet() Dim x As Worksheet Application.DisplayAlerts = False For Each x In Sheets If IsEmpty(x.UsedRange) And x.Shapes....程序如上,笔者使用EXCEL2007,上百个工作表删除空白无内容的SHEET。 ...
  • # 表格如果已经存在,那就删除,在重新创建,清空历史数据 del wk['Sheet2'] index += 1 # add new sheet wk.create_sheet(title=add_sheet, index=index) wk.close() wk.save("./source_file/123.xlsx") if __name...
  • wps批量删除sheet 批量删除工作簿

    千次阅读 2020-11-19 18:10:18
    步骤: 比如需要删除名为 1 和 14的范围sheet工作簿 ... 按着shift键不放的情况下 点击"最后一个"按钮(位于wps左下角)(这时候会自动跳转到最后一个工作簿) 仍然不要释放shift 点击最后一个工作...wps批量删除sheet ...
  • 如下图分表有成千上万份,...选择工作表选项中的删除工作表4.此时会弹出一个对话框,我们选择指定表5.设置指定的表从3到175 6.好了单击确定按钮7.简单的等待几秒,可以了全部删除8.如果经验帮到了你,请记得分享!...
  • 现在想要批量删除工作表中的公式只保留数据和文本。 点击下图选项(Excel插件,百度即可了解详细的下载安装方法,本文这里不作详细叙述) 点击【数值】 ​ 选择【只保留数值(数值化)】 ...
  • 7.好了即可看到取消隐藏已经标灰,证明隐藏工作表全部删除了。6.确定后我们找到该命令,并单击执行按钮。3.弹出界面,选择本地新建操作命令。4.我们在代码区域,输入如下代码。如果经验帮到了你,请记得分享!5.然后...
  • 在使用Excel 时,我们经常需要将多个工作表或工作簿合并到一个工作表中,这样我们就能快速地对数据进行分析和统计。对于一般用户而言,除了复制每个工作表后再粘贴,没有其他什么方法了。如果只是合并少数几个工作表...
  • 【代码模板004】VBA快速删除工作表

    千次阅读 2018-03-01 02:34:00
    老规则 —— 先删除再创建,删除工作表很简单嘛,Sheets(..).Delete一句代码搞定。怎么又弹出一个消息窗口,Excel的产品经理考虑过宝宝们的用户体验吗!?删除工作表也搞得这么复杂,又不是从银行账户里转...
  • 2、如果想要删除所有工作表中的B列内容 ,一个一个的删除会很麻烦,所以需要使用批量删除: 1)鼠标点选工作簿中第一个工作表,按住shift键点选最后一个工作表。 2)选中要删除的列标,右击,删除。 这里选了5个...
  • 需求① 在一个工作簿(workbook)中根据已知的工作表名称创建多个工作表并分别命名,可以创建同时当然需要研究增删改工作表。思路:研究vba的基础语法,知道了workbooks(工作簿集)、workbook(工作簿)、worksheet...
  • 概要:在我们批量操作 Excel 工作簿的时候,我们有时候会遇到希望将 Excel 工作簿的其中的一个工作表 Sheet 替换成另外一个工作表 Sheet。那么如何实现这样的功能呢?有没有软件可以批量地替换 Excel 工作表呢?现在...
  • SUB 批量增加命名工作表() For L = 1 To 100 Sheets.Add(, Sheets("发票表头")).Name = ...SUB 批量删除工作表() Application.DisplayAlerts = 0 ‘’‘关闭提示 On Error Resume Next X = Worksheets.Count For i ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 336,939
精华内容 134,775
关键字:

怎么批量删除工作表