excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA系列之单元格属性End

Excel VBA中使用Range时,有一个End属性,以Range单元格为基准定位到其上、下、左、右最后一个有数据的单元格。 1. 打开Visual Basic,添加模块和过程,称之为“单元格操作3”。2. 以A100单元格为基准(实际案例中数据量大的情况可以最后一个单元格为准),定位到A列中最后一个数据所在的单元格。3. 如图所示,输入Range后接End属性,End之后会自动提示方向参数选哪个。4. 示例中我们选择向上的方向,并且用Select选中所定位的单元格。Sub 单元格操作3() Range("A100").End(xlUp).Select End Sub 5. 回到之前介绍Offset的文章案例中,在B列中判断如为“A班”时,则在其右侧一列输入姓名编号。 这次我们用for each循环,在数据固定的时候,我们可以直接写出循环的范围,如图。Sub 单元格操作3() Dim rng As Range For Each rng In Range("A2:A10") Next End Sub 6. 如果B列之后还要继续添加数据,则需要不断地修改上面代码的范围,这时我们就可以用到End属性,如图。Sub 单元格操作3() Dim rng As Range For Each rng In Range("B2:B" & Range("B100000").End(xlUp).Row) Next End Sub Range("B100000").End(xlUp).Row返回的值是B列最后一个数据所在单元格所在的行号。 7. 添加if判断的语句在for each循环里。Sub 单元格操作3() Dim rng As Range For Each rng In Range("B2:B" & Range("B100000").End(xlUp).Row) If rng = "A班" Then rng.Offset(0, 1) = "A" & rng.Row - 1 End If Next End Sub 8. 执行以上代码后,即可在C列得到相应的数据。以上示例只是用于演示,实际应用场景请根据自己的需要进行相应的设计或调整。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接