cells是单元格的意思,它可以访问Excel表格对应行列的单元格,是Excel中最基本的单元格对象元素,cells在循环中可以行列循环,非常好用。
一、Cells基本信息
1.Cells属性(row,col)
❶参数row:数值类型,返回指定行。
❷参数coIumn:数值类型,返回指定列。
2.书写方式
❶ Cells(1,1)比较常用
❷ Cells(1,'A')
3.主要用法
❶ 循环
❷ 赋值运算
❸ Cells属性设置单元格字体和背景颜色
二、短语练习
1Sub Cellslx()
2 Cells(1, 1).Value = '姓名' '第一行第一列
3 Cells(1, 2).Value = '工号' '第一行第二列
4 Cells(1, 3).Value = '团队' '第一行第三列
5 Cells(1, 4).Value = '部门''第一行第四列
'上面的代码在第一行不同的列填充内容
6 Range(Cells(2, 1), Cells(4, 4)).Formula = '=Rand()*100''
' 从第2行第1列开始插入随机函数公式到第4行4列结束
7Cells(1, 5).Value = '合计'
8Cells(2, 5).Formula = '=Sum(A2:D2)' '第一行第五列
9Cells(3, 5).Formula = '=Sum(A3:D3)' '第二行第五列
10Cells(4, 5).Formula = '=Sum(A4:D4)''第三行第五列
11' 上面的代码在第五列不同的行输入求和公式
12End Sub
以上练习默认引用当前活动工作表单元格区域
如果想要选择同工作簿中其他工作表的单元格,可以使用下面的代码(2010版以上支持)
1Application.Goto ActiveWorkbook.Sheets('sheet2').cells(1, 2)
通过练习大家发现Range和Cells都可以引用单元格区域,我们来看看他们的不同点。
1.cells没方法单独引用一个区域,必须借助range 或者resize;
2.Cells在代码循环中可以行与列循环;
3.Range支持自动列出成员,引用区域更方便;
4.Range仅支持行循环和参数,不支持列循环;
三、综合案例练习
要求:用VBA删除小于5的数据
如下图所示,表格中有些数据小于5,要求用代码批量删除表格里的数字。
代码如下:
1Sub Cells循环()
2Dim c1, c2, r1, r2 As Integer
3 r1 = 1: r2 = 11 '第1行到第11行
4 c1 = 1: c2 = 5 '第1列到第5列
5 For i = r1 To r2
6 For j = c1 To c2
7If cells(i, j) <= 5 Then
8 cells(i, j).ClearContents '清除小于5的数据
9End If
10Next
11Next
12End Sub
代码说明:
1.r1、r2、c1、c2是定义范围值
2.i是行数,j是列数
3.ClearContents仅仅清除表格里数据(Clear清除全部、ClearFormats清除格式)
大家敲好代码后运行试试,可以换条件,比如给小于5的数据添加背景颜色。
最后来张美图,放松一下吧!
在这春意盎然的时光里,祝你学有所获,不负好时光!
联系客服