-
2012-12-12 12:38:44
Sub test() Dim begin As Integer Dim endValue As Integer Dim jg As Integer begin = 3 '开始行 endValue = 493 '结束行 jg = 1 '间隔 '千万不要以为是2,因为当第3行被删除后,第5行已经变成了第4行 Dim i As Integer For i = begin To endValue Step jg Range("A" & i).EntireRow.Delete Next i End Sub Private Sub Worksheet_Activate() Call test End Sub
注:Range("A1").EntireColumn.Delete 这样是删除A1整列Range("A1").EntireRow.Delete 这样是删除A1整行
Range("A1").Delete 这是删除A1单元格 A2单元格会移上去
上述命令就好像 你选中A1单元格后,右击选择 -》删除 ,在弹出对话框中有四个选项
更多相关内容 -
Excel 用VBA批量删除指定文件夹下工作表表头时出错
2020-12-19 14:41:58用VBA实现批量删除指定文件夹下工作表表头,如图所示,删除前与删除后效果。 但在运行时出错 (文件夹内工作薄模拟了上报的数据,只能保证结构相同,数据质量得不到保证,要求在这种情况下运行),请各位高手帮我看看...用VBA实现批量删除指定文件夹下工作表表头,如图所示,删除前与删除后效果。
但在运行时出错
(文件夹内工作薄模拟了上报的数据,只能保证结构相同,数据质量得不到保证,要求在这种情况下运行),请各位高手帮我看看代码错在哪儿?
补充内容(2015-7-30 15:32:23):
Sub deleteheadline()
Dim Fso As Object, Folder As Object
Dim i&, n&, a, b, Wb As Workbook, p$
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ThisWorkbook.Path & "\"
If .Show = False Then Exit Sub
p = .SelectedItems(1)
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Fso = CreateObject("Scripting.FileSystemObject")
With ThisWorkbook
For Each File In Fso.GetFolder(p).Files
If File.Name Like "*.xls" Then
n = n + 1
Set Wb = Workbooks.Open(File)
Application.DisplayAlerts = False
If ThisWorkbook.MultiUserEditing Then
ThisWorkbook.UnprotectSharing ("")
End If
Application.DisplayAlerts = True
Wb.Unprotect
Wb.Sheets("基本情况(填表)").Unprotect
Wb.Sheets("基本情况(填表)").Rows("1:4").delete
Wb.Close False
End If
Next
End With
Set Fso = Nothing
Application.ScreenUpdating = True
MsgBox "表头已删除!"
End Sub
补充内容(2015-7-30 15:33:13):
-
听说你会用VBA批量删除工作表?但重要数据不是你想删就能删的
2021-02-11 14:10:17前景提要昨天我们学习了一下批量删除空白工作表的方法,那么自然工作表的删除就没有任何的问题了,不过有时候当我们通过VBA批量删除工作表数据的时候,可能会碰到一个问题,一时兴起把一些主要的工作表数据删除了,...前景提要
昨天我们学习了一下批量删除空白工作表的方法,那么自然工作表的删除就没有任何的问题了,不过有时候当我们通过VBA批量删除工作表数据的时候,可能会碰到一个问题,一时兴起把一些主要的工作表数据删除了,这就非常的尴尬了,我们都知道VBA操作的不可逆,所以我们在进行批量工作表删除的时候,要留意一些关键工作表数据的保护,so,如何实现呢?
场景说明
这是我们之前使用过的工作表,我们这里有很多个工作表
当我们完成了数据的汇总和整理之后,我们现在只需要保留总表这个工作表就可以了, 所以我们按照之前的VBA代码打算将除去总表以外的其他的所有的工作表都删除,但是我们注意到其中有一个标红的工作表,是考核标准,这个工作表数据是不能删除的,因为后续的考核都是要用这个表的,但是如果用VBA代码去删除工作表就会把这个表一起删除,因为他的名字不等于“总表”那么怎么办呢?
代码区
其实今天的方法比较的直接,并不算是一个最好的方法,但是我们的初衷就是要实现效果,得到目的就可以了。 来看看代码
Private Sub Worksheet_BeforeDelete()
ActiveWorkbook.Protect "床前明月光"
MsgBox "此工作表禁止删除"
On Error Resume Next
Exit Sub
End Sub
是的,我们今天的代码是写在考核标准这个工作表的里面的,并不是写在模块中的
这样的目的是什么呢?就是在执行删除操作之前,执行一个操作,制造一点小麻烦,让删除程序没有办法顺利的进行。我们来看看效果
当程序开始的时候,其他的 工作表都已经被删除完毕了,但是当删除到考核标准这个工作表之后,我们发现他并没有被删除,反而弹出了一个窗口,提示我们这个工作表禁止删除
点下确定呢?
不好意思,工作表被保护了,这个工作表你应该是删除不了了。所以只能结束程序了,重新调试删除的程序代码了。
这样就间接了实现了对工作表的保护,禁止对方随意的删除你的工作表。
代码分析
今天我们的方法是强制在工作表被删除之前,将整个工作薄进行密码保护起来,这样就禁止了对方进一步删除我们的工作表,破坏了VBA删除代码的顺利进行,从而从侧面实现了禁止删除工作表的效果。
我们来今天的代码
其实知识点也是很简单,工作表的保护
ActiveWorkbook.Protect "****"'*代表你要输入的密码
实际上也就是通过给工作薄上锁的方式,来阻止VBA代码肆意的删除工作表,从而达到保护工作表的效果和目的
虽然实现了效果,但是感觉方法并不是最优的,不知道小伙伴们还有没有更好的办法呢?
-
vba把多个工作薄的Sheet1表数据复制粘贴到某个工作薄的相应工作表里
2021-01-17 12:35:54首先看下图,注意,在相同的文件夹内,有一个工作薄的名称为“合并数据.xls”,其它的工作薄呢,有很多个,并且,有几个也不知道,我们姑且认为有X个其它的工作薄吧,并且,这些工作薄的名称也是没有任何规律的。...看着标题估计会有点乱,下面我们以图文的方式来和大家说明,本例子要实现的最终结果!
首先看下图,注意,在相同的文件夹内,有一个工作薄的名称为“合并数据.xls”,其它的工作薄呢,有很多个,并且,有几个也不知道,我们姑且认为有X个其它的工作薄吧,并且,这些工作薄的名称也是没有任何规律的。
现在,我们要做的就是,要把这X个工作薄中的Sheet1这个工作表里面的数据复制了之后,粘贴到“合并数据.xls”这个工作薄的相应的表里面。
简单的说,就是要把工作薄1里面的Sheet1的内容粘贴到“合并数据.xls”中的一个工作表里面,同样,工作薄2里面的Sheet1的内容粘贴到“合并数据.xls”中的一个工作表里面,依此类推,工作薄3里面的Sheet1的内容粘贴到“合并数据.xls”中的一个工作表里面……,介绍只能介绍到这里了,如果你连这种逻辑关系都无法理解,那么说明,理解能力真的只适合学文科背诵,不适合学习VBA。
好了,实现方法如下,把“合并数据.xls”工作薄打开,然后添加一个如下图的按钮控件,按钮控件的标签文字可自行修改。
最后一步,就是添加VBA代码了,如下图,这是第一部分代码,是通用代码。
接着,就是功能代码了,如下图。
上面的代码,添加到按钮控件上。相关的代码功能的解释,已在图上注明,在此就不再阐述了。
最后,给大家说明的是,每次合并数据的时候,你把“合并数据.xls”打开,然后,只保留Sheet1这个工作表,其余的全部删除。这样才能正确使用,否则会导致代码错误。因为功能还未全部完善,只因本人没时间完善了。
-
VBA 实例:拆分每个工作表为单个文件
2022-05-24 09:52:02复制工作表,生成一个新工作薄。 获取当前活动工作薄,然后保存。(说实话,VBA这种思路很别扭。Copy竟然没返回值。) Sub Split2Book() Dim xPath As String xPath = Application.ActiveWorkbook.Path ... -
Excel 2010 VBA 入门 061 按模板快速生成指定数量的工作表
2021-04-19 09:32:36工作表的删除 Application. DisplayAlerts属性 示例 如图所示,该表为某公司在银行的余额汇总。现希望按照模板的格式生成若干张工作表,各工作表以银行名称作为表格名称,并将该银行信息填入表内。如何用V... -
Python让Excel飞起来—批量处理工作薄和工作表
2022-01-05 17:06:51案例01 批量新建并保存工作薄 举一反三 批量新建并关闭工作薄 案例02 批量打开一个文件夹下的所有工作薄 举一反三 列出文件夹下所有文件和子文件夹的名称 ...举一反三 批量打印多个工作薄中的指定工作表 -
EXCEL批量删除当前目录下所有工作薄的所有工作表的指定行
2013-09-02 08:59:08本代码示例用于批量删除第6, 7, 9, 10, 12, 13, 15, 16行的代码,使用这个批量删除行的代码要注意以下几点:1)该代码只用于批量删除代码所在文件目录下(不含子目录)与 “*.xls*”后缀匹配的所有工作薄l所有工作表... -
Excel 2010 VBA 入门 067 导入多个工作簿中的工作表
2021-04-23 15:19:21示例 如图所示,在同一个目录下有多个工作表名称相同的工资汇总月报。现希望通过VBA建立该多个月份的月报总表,将多个工作簿中的“工资汇总”工作表导入当前工作簿,并以月份命名。该如何实现呢? ... -
excel VBA自动化 - 多个工作簿自动合并到一个工作簿
2022-03-31 10:26:51多个excel表自动合并到同一表格,该段vba代码的逐句拆解 -
VBA实践技巧精粹006:批量删除未指定的工作表
2011-04-12 07:39:00问题提出:如何批量删除不需要的工作表? 解决方案:首先需要选定不能删除的工作表,统计出个数,将其移至工作簿所有工作表的最前边,利用统计的个数设置循环操作,逐一删除未选定的工作表. 代码: Sub 批量删除工作表() Dim... -
VBA学习练习-拆分成多个工作簿
2021-12-02 13:12:54'将报表按指定列分类并保存到各工作表中 Dim i, c As Long, bj As String, rng As Range, arr(), myrows, lc As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False myrows = ... -
使用VBA清空数据记录
2022-05-03 21:13:57目的:在指定条件下,将一个工作薄中的某些工作表数据记录清空 代码实现: Sub 清除记录() Dim sht As Worksheet For Each sht In Worksheets If sht.Name <> "成绩表" Then '成绩表'中是保存元数据记录的... -
使用VBA汇总文件夹下所有Excel文件
2022-03-08 18:07:32如何将多个总分结构的表,按照汇总上下合并,分表复制到工作簿的形式汇总 -
通过VBA将一个工作簿中的多个工作表拆分为多个工作簿,以工作表名称命名工作簿
2020-07-20 14:42:08输入以下运行代码,执行就行(拆分的工作簿在你设置的路径下): Sub cfb() Dim m As Integer Dim sht, sht1 As Worksheet '按照需要将分出来的表分成多个工作簿 n = InputBox(“请输入excel的 -
vba模拟鼠标点击_利用VBA开发数据汇总工具
2020-10-24 22:56:06利用VBA开发数据汇总工具通常在日常工作中总会用到Excel并且经常会遇到Excel将多个表格进行汇总。经过工作中的实践,发现用VBA开发具有一定重复性的功能,能够极大提高工作效率。最近,将本人曾开发的的Excel数据... -
【VBA】提取 Word|PPT|Excel 批注实例(Excel一键导入办公文档中的批注)
2021-12-28 16:44:02VBA 提取批注实例 - Excel一键导入办公文章批注 -
VBA之根据筛选条件创建新的工作表完整版
2020-03-26 01:17:29工作中,筛选条件肯定不止一个,有时候要筛选第一列,第二列,而不是某一个固定的列的条件 以上的ABCDEF列都有可能被当成筛选对象 代码如下 Sub chaifenshuju() Dim sht As Worksheet Dim k, i, j As Integer Dim irow ... -
个人永久性免费-Excel催化剂功能第70波-工作薄外部链接维护管理
2019-09-26 00:28:54Excel在数据领域万物互联的特性,其中一个使用场景是连接非本工作薄的外部性文件内容,如其他Excel工作薄文件里的内容或直接用OLE对象的方式嵌入一个文件链接,使其在不离开Excel环境,也可提供类似快捷方式一样轻松... -
EXCEL常用函数公式和VBA汇总
2021-09-25 09:44:51系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动...4.test04 隔m列(行)插入n列空白列(行) 5.test05 合并工作簿 6.test06 更改工作表名 7.test07 解除excel结构限制 8.test08 解除工 -
VBA笔记
2020-05-15 08:46:27打开VBE即编写VBA的IDE的快捷键 ALT+ F11 提示代码 CTRL+j 在代码窗口VBA.会自动列出所有的函数 在VBE的帮助中输入对象模型就能看到对象的关系了 引用类型 $A$1 //绝对引用,复制公式时不改变单元格地址 ... -
个人永久性免费-Excel催化剂功能第84波-批量提取OUTLOOK邮件附件
2019-07-22 11:35:00批量操作的事情常常能让人感到十分畅快,区别于一次次的手工的操作,它真正实现了“人工智能”想要的效果,人指挥机器做事情,机器就可以按着人意去操作。此篇给大家再次送了批量操作一绝活,批量下载OUTLOOK上的... -
VBA基础
2020-07-04 10:41:08在Excel VBA中,指的就是:工作薄、工作表、单元格、图表、透视图。 属性: 指对象所具有的特性。 方法: 实际上就是对对象的操作,他是一种动作,一种行为。 变量: 在定义之后了还能再次赋值 格式: Di -
个人永久性免费-Excel催化剂功能第53波-无比期待的合并工作薄功能
2019-09-26 00:28:41合并工作薄、工作表功能,几乎每一款Excel插件都提供,而且系列衍生功能甚至有多达10多个。今天Excel催化剂重拾武器,在现有众多插件没提供到位的部分场景中,给予支持和补充,做到人有我优,人无我有的境地,重新... -
excel vba 数据分析
2019-01-20 12:20:00VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,其语法结构与Visual Basic编程语言互相兼容,采用的是面向对象的编程机制和可视化的编程环境。 第一节 标识符 一.定义 标识符是一... -
个人永久性免费-Excel催化剂功能第48波-拆分工作薄内工作表,堪称Excel界的单反...
2019-09-26 00:28:35一个工作薄有多个相同类型的工作表,然后想通过批量操作,把每个工作表都另存为一个工作薄文件,这个批量拆分工作薄,绝大多数插件都有此功能,就如懂点VBA的高级用户也常常有点不屑于用插件来完成,自己写向行VBA... -
Excel VBA对象2
2016-11-27 23:57:042. 怎样引用集合中的某个工作簿 法一:使用索引号引用工作簿 要引用Workbooks集合中的第3个Workbook,可以将代码写为: Workbooks.Item(3) 使用时可以省略属性名称Item,将代码写为: Workbooks(3) 法二:利用工作... -
个人永久性免费-Excel催化剂功能第55波-Excel批注相关的批量删除作者、提取所有批注信息等...
2019-04-26 17:45:00有时批注内容写太长了,查看批注时没法显示所有内容,可用此功能将整个工作薄的所有批注都自动适应内容,让批注阅读起来更友好。 复原批注显示位置 批注有可能因为查看过程中,进行了排序、筛选等操作,最终批注...