写在前面:
如果把工作簿Workbook比喻成一栋房子,那么一堵墙就是这座房子的一个工作表Sheet,而组成墙的每一块砖头,则可以比喻成单元格对象Range(表格中的range是横纵对齐的)。这就是工作簿、工作表、以及单元格对象之间包含的关系。
之前两节课我们已经讲过单元格对象的表示方法,以及单元格对象的一些属性。接下来还有最重要的一节课我们要讲,这就是操作单元格对象的一些方法。
方法,顾名思义就是达到某种目的而采取的手段与行为方式。我们要复制单元格内容、删除单元格内容、合并单元格等等,这些都是操作单元格对象的方法。
手动复制粘贴内容,大家都会。这里,我们就教大家在VBA中如何用编程的方法来操作单元格。
Select方法要选择单元格或单元格区域,请使用 Select 方法。就相当于我们点住鼠标左键圈选一个单元格区域。
一般用法: 单元格区域.select
举个栗子:
Sub test()
Range("a1:a10").Select
End Sub
效果如下:
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方法。
Union方法有时候我们要将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作。这个时候我们就要用到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
在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
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved