打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA基础-单元格对象(三)常用方法

单元格对象


写在前面:

如果把工作簿Workbook比喻成一栋房子,那么一堵墙就是这座房子的一个工作表Sheet,而组成墙的每一块砖头,则可以比喻成单元格对象Range(表格中的range是横纵对齐的)。这就是工作簿、工作表、以及单元格对象之间包含的关系。

之前两节课我们已经讲过单元格对象的表示方法,以及单元格对象的一些属性。接下来还有最重要的一节课我们要讲,这就是操作单元格对象的一些方法。

方法,顾名思义就是达到某种目的而采取的手段与行为方式。我们要复制单元格内容、删除单元格内容、合并单元格等等,这些都是操作单元格对象的方法。

手动复制粘贴内容,大家都会。这里,我们就教大家在VBA中如何用编程的方法来操作单元格。

Select方法

要选择单元格或单元格区域,请使用 Select 方法。就相当于我们点住鼠标左键圈选一个单元格区域。

一般用法: 单元格区域.select

举个栗子:

Sub test()

Range("a1:a10").Select

End Sub

效果如下:

copy方法

copy方法,从字面意思就可以理解的出来,就是复制的意思。VBA中copy方法就是起到复制内容到指定目的地的作用。

用法: 单元格区域.copy    目的地

用法举例:

Range("a1").Copy Range("b1") ' 将A1单元格内容复制到B1

Worksheets(1).Range("a1").Copy Worksheets(2).Range("b1")'将表1中A1单元格内容复制到表2单元格B1中

我们经常要复制一个工作簿某一个工作表的部分需要的数据到另外一个工作簿的某个地方,这个时候我们就会用到copy方法。

U
nion方法

‍‍‍‍

有时候我们要将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作。这个时候我们就要用到union方法来合并单元格区域了。

Union,单从英文解释上说有“联合”的意思,这样我们就很好理解了,它的作用及时联合若干个单元格区域。

举个栗子:

Union(Worksheets(1).Range("A1:D4"), Worksheets(1).Range("E5:H8")).Select

Range("A1:D4")和Range("E5:H8")联合在一起以后,用select方法选中。

union方法一般结合find方法,在依次找到特定的单元格区域之后,联合选择然后做统一的操作。

Clear方法

如果我们要清除单元格的内容,我们就会用到Clear方法。

Sub test()

Range("a:a").Clear    '清除A列单元格,包括数据内容和格式

Range("a:a").ClearContents '如果不想清楚单元格颜色等格式,只清除A列单元格内容用ClearContents

Range("a:a").ClearComments '清除批注

Range("a:a").ClearFormats'清除格式

End Sub

SpecialCells方法

Excel中使用定位对话框可以选中工作表中特定的单元格区域,而在VBA中则使用SpecialCells方法。

下面这个例子实现选中含有公式的单元格。

Sub test()

    Dim rng As Range

    Set rng = Sheet1.Range("a1:x100").SpecialCells(xlCellTypeFormulas)

'选中A1:X100单元格区域中包含公式的单元格

    rng.Select

End Sub

除了可以选中包含公式的单元格,我们还可以选中含有注释的单元格区域、含有相同格式的单元格区域等等。

上述代码中xlCellTypeFormulas替换为下表中值即可

SpecialCells方法实际上还有一个参数,这里不细说,回来专门来一节课讲解。

学会了SpecialCells方法以后,有很多地方都能用到这个方法。

我们如果要仅复制筛选后的数据,就可以用

SpecialCells(xlCellTypeVisible).copy

如果判断A1:B10单元格区域若存在空格,则隐藏所在行

[A1:B10].SpecialCells(xlCellTypeBlanks).Rows.Hidden =True

整理空行工具

Sub s()

row1 = InputBox("请输入需要整理空行的列(英文)", "提示信息")

Range(row1 & ":" & row1).SpecialCells(xlCellTypeBlanks).Rows.Hidden = True

End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
处理单元格数据
Excel中的?VBA单元格(区域的引用方法)
Excel-VBA快速填充空白单元格
14、[VBA入门到放弃笔记] SpecialCells方法
VBA|合并工作簿内全部工作表
Excel VBA 7.67谁做的数据那么坑!数据间那么多不连续空格
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服