精华内容
下载资源
问答
  • 要使用VBA,首先打开你的Excel电子表格,然后Microsoft Visual Basic窗口打开,这样才能使用VBA代码!  方法是:在Excel中直接按下组合键Alt F11即可打开VB窗口,倘若VB默认没有打开代码窗口,请执行操作:...

    要使用VBA,首先打开你的Excel电子表格,然后将Microsoft Visual Basic窗口打开,这样才能使用VBA代码!

      方法是:在Excel中直接按下组合键Alt F11即可打开VB窗口,倘若VB默认没有打开代码窗口,请执行操作:“视图”→“代码窗口”即可!

      好了,环境都设置好了,下面来学习如题所示的操作吧!

      代码1#8212;删除第8个单元格为空的行,范围从1行到88行:
    ----------------------------------------------------------
     Sub DeleteEmptyRow '删除指定的单元格为空的行
      Dim i As Integer
      For i = 88 To 1 Step -1
       If Cells(i, 8) = "" Then
        Sheets("sheet1").Rows(i).Delete
       End If
      Next i
     End Sub
    ----------------------------------------------------------
      代码解释:

      For i = 88 To 1 Step -1 '循环语句,从第88行一直检查到第1行
      If Cells(i, 8) = "" Then '如果当前行的第8列的值为空值,那么就删除该行!i是变量,随着循环而变,其值从88逐渐减小到1

      代码2#8212;删除第6个单元格为空的列,范围从1列到66列:
    ----------------------------------------------------------
     Sub DeleteEmptyColmn() '删除指定的单元格为空的列
      Dim i As Integer
      For i = 66 To 1 Step -1
       If Cells(i, 6) = "" Then
        Sheets("sheet1").Columns(i).Delete
       End If
      Next i
     End Sub
    ----------------------------------------------------------
      代码解释:与上面的代码类似,不再解释!

      知识扩展:

      以上两种代码仅删除sheet1工作表满足条件的空行空列,如果要一次性删除多个工作表的满足条件的空行和空列呢?

      同样道理,只要再代码外面再使用一个循环即可!

    ----------------------------------------------------------

     Sub DeleteEmptyRowAndColmn() '删除指定的单元格为空的行
      Dim i As Integer
      For j = 1 To 3
       For i = 88 To 1 Step -1
        If Cells(i, 6) = "" Then
         Sheets(j).Columns(i).Delete
        End If
       Next i
      Next j
     End Sub

    相关参考

    VBA语言基础

    各种Excel VBA的命令

    VB6 中将数据导出到 Excel 提速之法

    VBA语法200

    各种Excel VBA的命令

    Execl编程详解

     VB

     VB软件操作EXCELVB全面控制Excel

    展开全文
  • 问题提出:如何批量删除不需要的工作表? 解决方案:首先需要选定不能删除的工作表,统计出个数,其移至工作簿所有工作表的最前边,利用统计的个数设置循环操作,逐一删除未选定的工作表. 代码: Sub 批量删除工作表() Dim...

    问题提出:如何批量删除不需要的工作表?

    解决方案:首先需要选定不能删除的工作表,统计出个数,将其移至工作簿所有工作表的最前边,利用统计的个数设置循环操作,逐一删除未选定的工作表.

    代码:

    Sub 批量删除工作表()
        Dim n As Integer, i As Integer
        n = ActiveWindow.SelectedSheets.Count '统计当前窗口选择的工作表数量
        ActiveWindow.SelectedSheets.Move before:=Worksheets(1) '选择的工作表移至最前面
        Application.DisplayAlerts = False '不显示警告信息
        For i = Worksheets.Count To n + 1 Step -1 '从最后一个工作表开始逐个删除剩余工作表
            Worksheets(i).Delete
        Next i
        Application.DisplayAlerts = True
    End Sub

    菊子曰 今天你菊子曰了么?

    转载于:https://www.cnblogs.com/xiehui/archive/2011/04/12/2013177.html

    展开全文
  • 工作中,我们除了不同工作簿中的内容合并到一个工作簿外,在同一个工作簿中,也有不同工作表进行合并的诉求,怎么多个指定工作表合并(复制、带格式和公式)到同一个工作表(汇总表)中呢,我给大家分享下我的逻辑...

    工作中,我们除了将不同工作簿中的内容合并到一个工作簿外,在同一个工作簿中,也有将不同工作表进行合并的诉求,怎么将多个指定工作表合并(复制、带格式和公式)到同一个工作表(汇总表)中呢,我给大家分享下我的逻辑。

    431393ce9ba8f2103e0fcd767c48bdde.png

    一、逻辑介绍:

    1. 判断如果当前工作簿中有名称为“汇总表”的工作表,则删除;
    2. 新建一个空白工作表“汇总表”
    3. 遍历当前工作簿中的所有工作表,当工作表名称不是“汇总表”和 指定工作表时,则将对应内容复制(含格式),并粘贴到“汇总表”
    50766f5b4e1b0b0d9c8e7fc1d6b12531.png

    二、代码逻辑如下

    Option ExplicitFunction lastrow(sh As Worksheet) As Long'该函数用来获取汇总工作表中的底线(最后的行),后续粘贴的内容则在该行之后,即lastrow+1 lastrow = sh.Cells(Rows.Count, 1).End(xlUp).RowEnd FunctionSub 多工作表汇总()  Dim sh As Worksheet Dim DestSh As Worksheet Dim last As Long Dim copyRng As Range  Application.ScreenUpdating = False   Application.DisplayAlerts = False On Error Resume Next ActiveWorkbook.Worksheets("汇总表").Delete On Error GoTo 0 Application.DisplayAlerts = True  Set DestSh = ActiveWorkbook.Worksheets.Add DestSh.Name = "汇总表"   For Each sh In ActiveWorkbook.Worksheets '排除特定工作表 If sh.Name <> DestSh.Name Or sh.Name <> "现代" Then last = lastrow(DestSh) Set copyRng = sh.UsedRange If last + copyRng.Rows.Count > DestSh.Rows.Rows.Count Then MsgBox "汇总行数超过工作表最大行数" Exit Sub End If  copyRng.Copy DestSh.Cells(last + 1, "A").PasteSpecial End If Next DestSh.Columns.AutoFit Application.ScreenUpdating = TrueEnd Sub

    是不是很简单。

    展开全文
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧26 禁止删除指定工作表 12 技巧27 自动建立工作表目录 12 技巧28 工作表的深度隐藏 12 技巧29 防止更改工作表的名称 12 技巧30 工作表中一次插入多行 12 技巧31 删除工作表中的空行 12 技巧32 删除工作表的重复...
  • Excel_VBA教程

    2014-09-22 11:36:34
    2.5 指定给图片或其他对象 6 2.6 小结 7 第三课 学习控件 7 3.1 EXCEL开发过程简介 7 3.2 认识不同的控件 7 3.3 向工作表添加控件 7 3.4 设置控件的特性 8 3.5 给控件命名 8 3.6 使用用户窗体 8 3.7 疑难解答 9 ...
  • VBA编程技巧大全

    2013-08-05 09:03:19
    技巧26 禁止删除指定工作表 76 技巧27 自动建立工作表目录 78 技巧28 工作表的深度隐藏 80 技巧29 防止更改工作表的名称 82 技巧30 工作表中一次插入多行 83 技巧31 删除工作表中的空行 84 技巧32 删除工作表的重复...
  • EXCEL编程VBA高级教程

    2015-04-16 11:40:55
    删除........................................................................6 打开........................................................................6 读入...........................................
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
    本书介绍如何定制Excel 用户窗体、开发新实用程序、用VBA 处理图表及数据透视表,以及创建事件处理应用程序。还介绍如何使用VBA 子过程和函数过程、与其他应用程序轻松交互、构建用户友好的工具栏、菜单和帮助...
  • 这段时间写的程序也少了,可能是真正的会了,也就这么回事了。但这几天一直在想一个问题,如何操作文件及文件夹,虽然以前也零零碎碎写了一点,但一直没有好好整理过,都是到用时再查找资料,要求也不...④如何将指...

    这段时间写的程序也少了,可能是真正的会了,也就这么回事了。但这几天一直在想一个问题,如何操作文件及文件夹,虽然以前也零零碎碎写了一点,但一直没有好好整理过,都是到用时再查找资料,要求也不高,只要能过关就行。现在想着趁着还能上网,还是抓紧时间整理一下吧。

    想要解决的问题如下:

    ⒈在指定工作簿中①如何添加新工作表,并重命名;②如何删除指定工作表,并不出现提示;③如何统计工作表的个数;④如何将指定工作表移动到新工作簿或更改次序;⑤如何保存文件,包括直接保存及另存为。

    ⒉如何遍历指定文件夹下的指定文件,并将其保存到工作表。

    ⒊如何按指定格式更改文件名。

    以上3个问题应该可以涵盖现在遇到的情况,下面一一解决。

    ①如何添加新工作簿,并重命名。

    Workbook 对象用法
    本部分将对下列返回 Workbook 对象的属性进行说明:

    Workbooks 属性
    ActiveWorkbook 属性
    ThisWorkbook 属性
    Workbooks 属性
    可用 Workbooks(index)(其中 index 为工作簿名称或编号)返回单个 Workbook 对象。下例激活第一个工作簿。

    Workbooks(1).Activate
    编号指示创建或打开工作簿的顺序。Workbooks(1) 为创建的第一个工作簿,而 Workbooks(Workbooks.Count) 为最后一个。激活某工作簿并不更改其编号。所有工作簿均包括在编号计数中,即便是隐藏工作簿也是如此。

    Name 属性返回工作簿名称。不能用该属性设置名称;如果需要更改名称,应当用 SaveAs 方法以其他名称保存工作簿。下例激活工作簿“Cogs.xls”中的工作表“Sheet1”(该工作簿必须已在 Microsoft Excel 中打开)。

    Workbooks("Cogs.xls").Worksheets("Sheet1").Activate
    ActiveWorkbook 属性
    ActiveWorkbook 属性返回当前处于活动状态的工作簿。下例设置活动工作簿的作者名称。

    ActiveWorkbook.Author = "Jean Selva"
    ThisWorkbook 属性
    ThisWorkbook 属性返回 Visual Basic 代码正在运行的工作簿。在绝大多数情况下,这也就是活动工作簿。然而,如果 Visual Basic 代码是加载宏的一部分,那么 ThisWorkbook 属性就不会返回活动工作簿。在这种情况下,活动工作簿是调用加载宏的工作簿,而 ThisWorkbook 属性将返回该加载宏工作簿。

    如果用 Visual Basic 代码创建加载宏,那么对于那些编译到加载宏中的工作簿,在其中运行的语句应当用 ThisWorkbook 属性加以限定。

    演示如何添加工作簿并进行更名及相关操作

    Sub 添加工作簿()
        Application.DisplayAlerts = False
        Workbooks.Add
        ActiveWorkbook.SaveAs Filename:="E:aaidafd.xls" '保存到指定文件夹中
        ActiveWorkbook.SaveAs Filename:="adiasf.xls" '保存到与代码所在工作簿同一文件夹中.
        ActiveWorkbook.Close savechanges:=True '关闭当前活动工作簿,并保存更改.
        Workbooks(1).Activate '将第1工作簿激活,但由于并不甚清楚工作簿如何排序的,所以尽量少用.
       
    ThisWorkbook.Activate '将VBA代码所在工作簿激活,这句比较实用.
        Application.DisplayAlerts = True
        Debug.Print Workbooks.Count '统计工作簿的个数
        Debug.Print Worksheets.Count '统计当前工作簿中工作表的个数,包含隐藏工作表.
    End Sub

    演示关于工作表本身的操作,例如:更名/移动位置/添加等.

    Sub 工作表()
        '如何添加工作表
        Worksheets.Add after:=Worksheets(Worksheets.Count) '添加新工作并放在倒数第1位置处.
        Worksheets.Add before:=Worksheets(Worksheets.Count) '添加新工作表并放在倒数第2位置处.
        '如何更改工作表的顺序
        Sheets(1).Move before:=Worksheets(Worksheets.Count) '移动指定工作表到指定位置处,但这个地方不会出现提示。
        Worksheets(1).Move before:=Worksheets(Worksheets.Count) '移动指定工作表到指定位置处.
        '如何更改工作表名称
        ActiveSheet.Name = "xiehui" '将当前活动工作表更改为指定名字.
        Worksheets(1).Name = "sidafd" '将当前工作簿中指定工作表更名.

        '如何为一指定工作表建立副本

        worksheets(1).copy

    End Sub

    遍历文件夹,获得文件名并只保留文件名.

    Sub 遍历指定文件夹下的所有文件并只保留文件名()
        Dim i As Integer
        Dim sr As FileSearch '定义一个文件搜索对象
        Set sr = Application.FileSearch
        sr.LookIn = "E:2009-2010学年历次考试2009年11月份考试--学校统考补考名单" '注意路径,换成你实际的路径
        sr.Filename = "*.*" '搜索所有文件
        sr.Execute '执行搜索
        Cells.Delete '表格清空
        For i = 1 To sr.FoundFiles.Count
            Cells(i, 1) = sr.FoundFiles(i) '每一行第一列填写一个文件名
        Next
        '获取共有多少行,为下一步循环做准备
        totalR = Range("A65536").End(xlUp).Row
        '这是左边取,结果为"E:"
    '    For i = 1 To totalR
    '        Cells(i, 1).Value = Left(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, "") - 1)
    '    Next i
        '若从右边取呢?结果只保留了文件名
        For i = 1 To totalR
            Cells(i, 1).Value = Right(Cells(i, 1).Value, Len(Cells(i, 1).Value) - InStrRev(Cells(i, 1).Value, ""))
        Next i
    End Sub


     

    菊子曰 今天你菊子曰了么?

    转载于:https://www.cnblogs.com/xiehui/archive/2010/03/29/2004304.html

    展开全文
  • 【批量导入图片】 将指定文件夹或包含子文件夹中所有图片瞬间(也可以按对应名称)按指定图片大小导入EXCEL中。允许一次性多图片格式(*.JPG/*.GIF/*.BMP/*.PNG),且支持模糊与非模糊方式导入图片,还可以在导入的...
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
    除此之外,还可以学习如何通过AutoShapes,用图片和色彩修饰图表,以及利用VBA编程创建交互式的动态图表。 目录 -------------------------------------------------------------------------------- 第Ⅰ部分 基础...
  • 9.3.1 指定启动的Splash Screen窗体 241 9.3.2 使用窗体的背景属性 241 9.4 利用Openargs和tab属性重用窗体执行标准任务 244 9.5 增强选项卡窗体的性能 254 9.6 小 结 256 第10章 用控件扩展窗体的功能 ...
  • arcgis工具

    2012-10-22 22:37:31
    Ctrl+A:方位 Ctrl+F:偏转 Ctrl+L:长度 Ctrl+D:X,Y增量 Ctrl+G:方位/长度 Ctrl+P:平行 Ctrl+E:垂直 Ctrl+T:切线 Ctrl+Delete:删除草图 F2:完成草图 F6:绝对X,Y坐标 F7:线段偏转 T:显示容限 已经输入的...
  • 25211.2.2 选择查询转换为生成表查询 25311.2.3 为新表建立关系 25411.2.4 使用新的tblShipAddresses表 25511.3 创建操作查询向一个表中追加记录 25611.4 用操作查询从一个表中删除记录 25711.5 更新表中多个记录...
  • 25211.2.2 选择查询转换为生成表查询 25311.2.3 为新表建立关系 25411.2.4 使用新的tblShipAddresses表 25511.3 创建操作查询向一个表中追加记录 25611.4 用操作查询从一个表中删除记录 25711.5 更新表中多个记录...
  • 25211.2.2 选择查询转换为生成表查询 25311.2.3 为新表建立关系 25411.2.4 使用新的tblShipAddresses表 25511.3 创建操作查询向一个表中追加记录 25611.4 用操作查询从一个表中删除记录 25711.5 更新表中多个记录...
  • 25211.2.2 选择查询转换为生成表查询 25311.2.3 为新表建立关系 25411.2.4 使用新的tblShipAddresses表 25511.3 创建操作查询向一个表中追加记录 25611.4 用操作查询从一个表中删除记录 25711.5 更新表中多个记录...
  • ArcMap使用手册.pdf

    热门讨论 2012-02-19 15:02:46
    如何在地图上参照数据 130 在地图上参照数据 131 修复和更新数据链接 132 第五章 操作图层 135 图层文件描述 136 图层属性功能 137 添加图层 138 改变图层文本 139 图层显示顺序 140 复制图层 141 删除...
  • PROJECT 2007宝典 9/9

    2012-04-01 19:13:00
    本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的使用情况。  本书内容丰富,融合了作者大量的实践经验,适用于各类项目管理人员使用。 目录 -------------------...
  • excel的使用

    2012-11-25 17:06:01
    这时先不要忙着把B列和C列删除,先要把D列的结果复制一下,再用“选择性粘贴”命令,数据粘贴到一个空列上。这时再删掉B、C、D列的数据。下面是一个“&”实际应用的例子。用AutoCAD绘图时,有人喜欢在EXCEL中存储...
  •  下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:  下例将在硬盘上添加一个 20 MB 的分区:  diskpart /add Device HardDisk0 20  Fixboot  向系统分区写入新的分区...
  • 6.1 Excel如何处理日期和时间 6.1.1 了解日期序列号 6.1.2 输入日期 6.1.3 理解时间序列号 6.1.4 输入时间 6.1.5 日期和时间的格式化 6.1.6 有关日期的问题 6.2 日期函数 6.2.1 显示当前日期 6.2.2 显示...
  • 6.1 Excel如何处理日期和时间 6.1.1 了解日期序列号 6.1.2 输入日期 6.1.3 理解时间序列号 6.1.4 输入时间 6.1.5 日期和时间的格式化 6.1.6 有关日期的问题 6.2 日期函数 6.2.1 显示当前日期 6.2.2 显示...
  • 14.5. 存储引擎指定给表 14.6. 存储引擎和事务 14.7. 插入存储引擎 14.8. 拔出存储引擎 14.9. 插件式存储器的安全含义 15. 存储引擎和表类型 15.1. MyISAM存储引擎 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 ...
  • MYSQL中文手册

    2013-03-11 21:21:34
    7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join 7.2.11. MySQL如何简化外部联合 7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT ...
  • 14.5. 存储引擎指定给表 14.6. 存储引擎和事务 14.7. 插入存储引擎 14.8. 拔出存储引擎 14.9. 插件式存储器的安全含义 15. 存储引擎和表类型 15.1. MyISAM存储引擎 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 ...
  • 或者原安装目录中的文件全部删除,再安装到另外一个不同的文件目录也可以.或者查阅http://exceltools.5d6d.com/redirect.php?tid=83&goto=lastpost#lastpost ==============================================...
  • 7.1.1 自动化:C++与VBA的桥梁 7.1.2 自动化组件与自动化客户 7.1.3 IDispatch接口 7.1.3.1 GetTypeInfoCount和GetTypeInfo 7.1.3.2 GetIDsOfNames 7.1.3.3 Invoke 7.1.4 类型库和ODL 7.1.5 VARIANT数据类型 7.2 ...
  • watchdir.zip 监控一个指定的目录, 当这个目录有文件删除或有文件增加, 监控程序显示相关信息(4KB) 687,turnoff.zip 关机/重启动的程序(20KB) 688,controlpanel.zip 访问控制面板的方法(2KB) ...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

vba如何将删除指定