VBA如何删除条件选择所在行?

worksheet对象一共有17个时间,可以在【代码窗口】的【事件】列表框或VBA帮助中查看这些事件

双击工作表之后,默认的双击操作之前发生
右击工作表之后,默认的右击操作发生之前
重新计算工作表之后发生
工作表中的单元格发生更改时发生
工作表由活动工作表变为不活动工作表时发生
单击工作表中的任意超链接时发生
在工作表中更新数据透视表后发生
工作表中所选内容发生更改时发生

工作簿事件是发生在workbook对象中的事件,一个workbook对象代表一个工作簿,workbook对象的事件过程必须写在ThisWorkbook模块中,可以在【工程资源管理器】中找到这个模块

open事件:当打开工作簿时发生

open事件是最常用的workbook事件之一,同国外吗会使用该事件对excel进行初始化设置,如设置想打开工作簿看到的excel窗口或工作界面,显示我们自定义的用户窗体等

beforeclose事件: 在关闭工作簿之前发生

sheetchange事件:更改任意工作表中的单元格时发生

当工作簿作为加载宏安装时发生
当工作簿作为加载宏卸载时发生
在打印指定工作簿之前发生
在工作簿状态作为非活动状态时发生
在工作簿新建一个图表时发生
在工作簿新建一个工作表时发生
在双击任意工作表之前发生
在右击任意工作表之前发生
在重新计算工作表之后发生
当更改了任意工作表的单元格之后发生
当任意工作表转为非活动状态时发生
当单击工作簿中的任意超链接时发生
当更新任意数据透视表时发生
当任意工作表中的选定区域发生更改时发生
在激活任意工作簿窗口时发生
当任意窗口变为不活动窗口时发生
在调整任意工作簿窗口大小时发生

OnKey方法告诉excel,当按下键盘上指定的键或者组合键时,自动执行指定的程序

在onkey中可以设置的按键及其对应代码

Ontime方法告诉VBA,在指定的时间自动执行指定的过程

Ontime的DateSerial参数可以设置指定的年月日;Scheduled的值如果为TRUE,会新设置一个Ontime过程,如果为False,就会清除之前设置的过程,默认值为TRUE

控件,搭建操作界面必不可少的零件

excel中有两种类型的控件:表单控件和ActiveX控件。可以在excel的【功能区】中找到它们

提供可选择的多个选项,用户可以选择其中一个项目
用于选择的控件,可以多项选择
通过单击控件的箭头来选择数值
显示多个选项的列表,用户可以从中选择一个选项
用于选择的控件,通常几个选项按钮用组合框组合在一起使用,在一组中只能同时选择一个选项按钮
用于输入和显示静态文本
包括水平滚动条和垂直滚动条
  1. ActiveX控件:excel中有11中可用的ActiveX控件,但是工作表总使用的ActiveX控件不止这些,可以单击其中的【其他控件】按钮,在弹出的对话框中选择其他控件

在工作表中使用ActiveX控件

不需设置,使用现成的对话框

用InputBox函数创建一个可输入数据的对话框

Input函数共有5个参数:

  1. prompt参数用于设置在对话框中显示的提示消息
  2. title用于设置对话框的标题
  3. default用于设置默认的输入值
  4. xpos用于设置对话框与左端与屏幕左端的距离
  5. ypos用于设置对话框的顶端与屏幕顶端的距离

用input方法创建交互对话框

用application对象的inputbox方法也可以创建于程序互动的对话框,但要注意与Inputbox函数相比,Input方法的参数有些许不同

type参数的可设置项及说明

0
单元格引用(range对象)

使用msgbox函数创建输出对话框

设置在对话框中显示的按钮样式

0
只显示【确定】和【取消】按钮
显示【终止】,【重试】,【忽略】三个按钮
显示是,否,取消三个按钮
显示重试,取消两个按钮
0 应用程序强制返回;应用程序暂停执行,直到用户消息框做出响应才继续
系统强制返回;全部应用程序都暂停执行,直到用户对消息框做出响应才继续工作
在对话框中添加帮助按钮
设置显示的对话框窗口为前景窗口
设置对话框中显示的文本为右对齐
指定文本英在希伯来文和Alibaba系统中显示为从右到左阅读

使用FindFile方法显示【打开】对话框

使用application对象的FindFile方法可以显示【打开】对话框,在对话框中选择并打开某个文件

MsgBox "你单击了【取消按钮】,操作未完成"

与findfile方法不同,使用GetOpenFileName方法是获得在对话框中选中的文件的文件名称(包含路径),而findfile是打开在对话框中选中的文件

  1. 只在对话框中显示某种类型的文件
  1. 让对话框同时显示多种扩展名文件
  1. 让对话框能选择显示多种类型的文件
  1. 通过FilterIndex参数设置默认显示的文件类型
    如果在【文件类型】下拉列表中设置了多种可选择的文件类型,就可以通过GetOpenFileName方法的FiterIndex参数,设置对话框中默认显示的文件类型
  1. 设置允许同时选择多个文件
    默认情况下,在通过GetOpenFileName方法显示的【打开】对话框中,只能同时选中一个文件,如果希望同时选中多个文件,可以将MultiSelect参数设置为TRUE

要想获得选中的文件名称,还可以调用application对象的GetSaveAsFilename方法打开【另存为】对话框,在对话框文中选择文件,获得该文件包含路径信息的文件名称

Title = "请选择要获取信息的文件"

如果想要获得的不是文件名,而是指定目录的路径及名称,可以使用application对象的FileDialog属性。

使用窗体对象设置交互界面

很多时候,我们都希望自己能够设计一个交互界面,定义其中的控件及控件的功能,这就需要用到VBA中的另一类常用对象——Userform对象。一个用户窗体就是一个Userform对象,也就是大家常说的窗体对象。当在工程中添加一个窗体后,就可以在窗体上自由的添加ActiveX控件,只要通过编写VBA代码为这些控件指定功能,就能利用这些控件与excel互动

  1. 在工程中添加一个用户窗体
  1. 设置属性,改变窗体的外观
  1. 在窗体中添加和设置控件的功能

用代码操作自己设计的窗体

在VBE窗口中选中窗体,依次执行【运行】——>【运行子过程/窗体】命令,即可显示选中的窗体

  1. 在程序中用代码显示窗体

将窗体显示为无模式窗体

  1. 模式窗体不能操作窗体之外的对象

要将窗体显示为模式窗体,可以使用代码

或者省略show方法的参数,或者将参数设置为vModal,VBA都会讲窗口见识为模式窗体
2. 无模式窗体允许进行窗体外的其他操作

要将窗体显示为无模式窗体,必须通过show方法制定参数

如果将窗体显示为无模式窗体,当窗体显示后,系统会继续执行程序余下的代码,也允许我们操作窗体之外的其他对象

关闭或隐藏已显示的窗体

  1. 用unload命令关闭窗体
  1. 使用Hide方法隐藏窗体

Initialize事件发生在显示窗体之前,当我们在程序中使用load语句加载窗体,或者使用show显示窗体时,都会引发该时间

借助QueryClose事件让窗体自带的【关闭】按钮失效

queryclose事件过程是一个带两个参数的sub过程,其中的cancel参数确定是否响应我们关闭窗体的操作。当值为TRUE时,程序将不响应我们关闭窗体的操作。如果cancel的值为false,程序将关闭窗体。其中CloseMode参数是我们关闭窗体的方式,不同的关闭方式返回的值也不相同

0 在窗体中单击【关闭】按钮关闭窗体
通过unload语句关闭窗体
正在结束当前Windows操作环境的过程
windows的【任务管理器】正在关闭整个应用

为【确定】按钮添加事件过程

给按钮设置了快捷键后,显示窗体时,当按下对应的快捷键就等于在窗体中用鼠标单击了该按钮。

更改控件的Tab键顺序

只有对象被激活时,才能几首键盘输入。控件的Tab键顺序决定用户按下【Tab】或【Shift+Tab】组合键后控件激活的顺序。在设计窗体时,系统会按照添加控件的先后顺序确定控件的Tab顺序。但是这个顺序是可以更改的。在VBE中选中窗体,依次执行【视图】——>【Tab键顺序】命令。调出Tab键顺序对话框,即可在其中调整控件的Tab键顺序

用窗体设计一个简易的登陆窗体


2. 添加代码,为控件指定功能


 
 
 

On Error GoTo 标签实际就是在“on error”的后面加了一个GoTo语句,其中的“标签”就是替goto语句设置的标签,是一个数字或者带冒号的文本。标签告诉VBA,当程序运行过程中晕倒运行时错误时,跳转到标签所在行的代码继续执行程序,实际上就是让程序跳过出错的代码,从另一个地方重新开始执行程序。

Resume Next告诉VBA,如果程序发生错误,则忽略存在错误的代码,接着执行错误行之后的代码。如果程序一开始加入On Error Resume Next语句,运行程序时,及时程序中存在运行时错误,VBA也不会中断程序,而是忽略所有存在错误的语句,继续执行出错语句后的代码

使用On Error GoTo 0语句后,将关闭对程序中运行时错误的捕捉,如果程序在On Error GoTo 0语句后出现运行错误,将不会被捕捉到

}

Excel 如何在word中用vba删除有合并单元格的行

从后面往前删除就可以保持前面的位置。

Word VBA中,如何根据内容删除一行?

用VBA批量删除很多个Excel表格的同一行

VBA不难,试着去写,很多问题都会迎刃而解,稍微有的函数、过程调用不知道参数,屏幕上都会提示的。

求高手帮忙怎么用VBA删除表格中包含指定内容的所有行?先谢谢了!...

步骤四、保持步骤三中的excel文件处于打开状态,打开需要处理excel文件,执行上述两个宏即可。

如果要删除空行,则运行Delete_Empty_Rows(),指定区域中的空行将被删除。

注意所谓空行是在指定区域中的,如果在指定区域内是空行,而在指定区域外不是空行,那么这些空行还是将会被删除。

步骤四、保持步骤三中的excel文件处于打开状态,打开需要处理excel文件,执行上述两个宏即可。

如果要删除空行,则运行Delete_Empty_Rows(),指定区域中的空行将被删除。

注意所谓空行是在指定区域中的,如果在指定区域内是 空行,而在指定区域外不是空行,那么这些空行还是将会被删除。


}

我要回帖

更多关于 shell删除含有指定字符的行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信