利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

学以致用,学习的目的统统为了使用。

70后,80后初中学习的英语,虽然说学习了很多年,但真正使用的,却并不多,而且在校时英语成绩很好的,到社会中却也荒废了。

究其原因,主要还是工作环境,学而用之,越用越精,学而不用,久而忘之。

Excel只是一个工具,只要能满足自己所在工作中的需求,就已经足够,再多无益。

而Excel中的函数,VBA以及其他的语言,编程等,都存在English的影子。

而通过这些影子,把这种困难变成一种积累,也可能在某种程度上找回自己曾经学过的,更可能学习到新的东西和内容。

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

 

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

VBA是英语Visual Basic for Applications单词的首写。

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

Excel的VBA是以Sub开始,以End sub结束.

Sub 此处为宏名称()' 此为备注End Sub

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

range可以在VBA中理解为范围,区域,那Excel中那个区域,那个单元格,需要再细化,再指定。所以,在VBA中range的使用是这样的:

range("a1") = 2

意思是向A1单元格赋值2,如果是区域的,也可以直接使用Excel表中的方法(冒号)

range("a1:a10") = 2

这个意思就是把2,输入到范围a1至a10中。

range("a1:a10") = "'2"

加双引号,并在数字前再加单引,可以直接录入文本类型的数据。

注:

对于单行的测试,可以在VBA中打开“立即窗口”,输入代码后,按回车就可以在Excel表中进行显示结果。

如果要在“模块”中进行测试,需要加上sub

Sub 此处为宏名称()' 此为备注range("a1:a10") = "'2"End Sub

如果要选择几个不连续的单元格,区域,使用逗号就可以了。

range("d1,f1:f2").Select

此代码表示的就是选择D1单元格,F1至F2的单元格区域

 

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

Excel函数中有一个取整函数:int

而int就是integer单词的缩写,前3个字母。名词,整数,整体,完整的事物的意思。

而在Excel VBA中,integer表示的同样是整数,只是使用的是英语单词:integer

one is an integer.

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

 

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

单元格在Excel表格中扮演了重要的角色对象,所以英语单词Cells单元格,在VBA中是经常被使用到的。

cells的使用方法

cells(行,列)

cells(1,2)这个表示的,就是第1行,第2列。如果把上面的代码,直接在立即窗口中使用,是会提示错误的。

错误的原因是,cells(1,2)只是一个对象,在你没有要求这个对象做出什么动作,属性的情况下,程序是不知道要如何做的。所以,会出错。

同理,range(“a2”)表示的虽然是a2单元格,但要a2单元格怎么样,是录入数据还是什么,未指明,同样会错误。

所以,我的理解是,对象在VBA中,应该不能单独使用,对象,属性,方法是需要配合使用的。

cells(1,2).select

这就是对象.方法

指令的意思是选择第1行,第2列的B2单元格的意思。

cells(1,2).select

有兴趣,可以尝试一下

cells(1).selectcells(2).selectcells(1,2).selectcells(“1,2”).selectcells(2).cells(2).selectcells(2).cells(1,3).selectcells(“1,2,3”).select

那如果不在括号里面录入行号,列号,会如何呢?

Cells.Select
Cells().Select

上面2个是一个意思的,在没有指定行号,列号的情况下,选择的是整个工作表区域。

Cells.SelectSelection.ClearContents

先选择整个区域,再清除选定的区域内容,就可以轻松实现对某个工作表内容,或者多个工作表内容的清空。

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

select选择,选中,选定的意思,上面的cells已经使用到了,select作为一种动作,也是被经常使用到。

 

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

上文中也使用了selection是名词,加上tion后,作为一个选择区域的对象。

 

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

上面学习range范围,后面跟的是单元格,以及区域

range("a1,a5").Select

逗号,引号的区别,所产生的意义是非常大的,上面的是分别选择A1和A5单元格。是只有2个单元格被选择中。

range("a1:a5").Selectrange("a“,”a5").Select

上面的这2个,表达的是1个意思,是可以画等号的。表示的是A1,A2,A3,A4,A5,共计5个单元格,是一个区域。

作为区域存在这种情况,那么当一个Excel文件中存在多个表的时候,我们可以对多个表进行同时操作,处理。

但不能像range一样,直接加逗号,而是需要使用array,数组

Sheets(Array("sheet1", "sheet2", “sheet3", "sheet4")).Select

通过上面的这种形式,就可以直接把4个表同时选中。

而其中会默认第一个为当前可以看到的表,即sheet1表。如果需要把sheet2作为当前可以看到的表时,需要把sheet2放到第1个位置即可。

利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表

上面的把对应的表放到第一个位置,可以实现显示的结果以外,我们可以使用activate来实现一样的效果。

Sheets(Array("sheet1", "sheet2", ”sheet3", "sheet4")).SelectSheets(”sheet3").activate

第一行是使用数组选择了多个表,而第二行,指定了默认的当前表为sheet3

而activate和select都有活动,选择的意思,如果把第二行的activate换为select会是什么效果?

尝试会发现,只选择了sheet3这个表,其他的表都取消了选择状态。

通过以上的学习,我们就可以实现,多个表选择,选定整个工作表区域,进行清空处理。代码如下:

Sub 多表清空()'模块说明,选择多个表,清空表内容,显示指定表为当前表
'选择多个工作表Sheets(Array("其他出入库(王海芬)日期", "调拨单", "其他出入库(王海芬)日期", "工单执行情况", "采购订单")).Select'下面将设置那个表为活动表Sheets("其他出入库(王海芬)日期").Activate'选定整个工作表区域Cells.Select'清空整个工作表内容Selection.ClearContents'释放多个表的选择,选择单个工作表Sheets("其他出入库(王海芬)日期").SelectEnd Sub

 

未经允许不得转载:飞鹰图表 » 利用VBA清空Excel工作表中的内容,最后显示指定表为当前活动表
分享到:

评论抢沙发

评论前必须登录!