当前位置: 代码网 > it编程>编程语言>其他编程 > VBA中的循环代码的使用

VBA中的循环代码的使用

2024年05月15日 其他编程 我要评论
最近,我在自学vba,有了之前的python基础,感觉学起vba也比较轻松。毕竟vba和python一样都是面向对象的编程语言。通过自学,我基本上掌握了vba的循环方法,以下是我的简单笔记和大家一起分

最近,我在自学vba,有了之前的python基础,感觉学起vba也比较轻松。毕竟vba和python一样都是面向对象的编程语言。通过自学,我基本上掌握了vba的循环方法,以下是我的简单笔记和大家一起分享。

一、循环填充单元格

1.通过for循环和cells()来填充a列1至10行单元格为1, 2, 3...10,代码如下:

sub 填充单元格()
dim i as integer
for i = 1 to 10
    cells(i,1)= i
next i
end sub

2. 通过for循环和range()来填充数字

sub 填充单元格2()
dim i as integer
for i = 1 to 10
    range("a" & i)= i
next i
end sub

3. 另类解法

通过定义range对象,然后遍历对象中的元素,此种方法融合了上面二种方法。

sub 填充单元格3()
dim col as integer
set col = range("a1:a10")
for each cell in col
    cell.value = cell.row()
next cell
end sub

二、循环遍历工作表

1.通过worksheets.count来获取工作表的总数来进行for循环。 以下代码实现用for循环来把每一个工作表的第一个单元格填充为工作表的表名。

sub 循环工作表()
dim i as integer
for i = 1 to worksheets.count '用worksheets.count获取工作表的数量
    worksheets(i).range("a1") = worksheets(i).name
next i
end sub

2. 利用for each ... in 来循环遍历工作表

这种方法的核心是定义工作表对象sht,然后对工作表集合对象进行遍历。

sub 循环工作表2()
dim sht as worksheet
for each sht in worksheets
    sht.range("a1") = sht.name
next sht
end sub

三、循环遍历工作簿

也就是遍历excel文件,假定所有文件均已经打开。这里提供两种方法:第一种是对象法,代码如下:

sub 循环工作簿()
for each wb in workbooks
    for each sht in wb.worksheets
        sht.range("a1") = wb.name
    next sht
next wb
end sub

第二种是切片法,实现的功能依然是在每个工作表的a1单元格中填充当前工作表的表名。

sub 循环工作簿()
dim i, m as integer
for i = 1 to workbooks.count
    for m = 1 to worksheets.count
        worksheets(m).range("a1") = worksheets(m).nam
    next m
next i
end sub

四、注意事项

for循环是成对的,一定要注意加上next x, 否则程序就会报错。

vba的循环大概分二种,一种是对象法,一种是切片法,推荐用对象法,不用考虑对象的数量。

标识单元格可以用range和cells两种方法,各有优劣,可以有选择地使用。

与python编程不同的是,vba编程中要提前定义对象类型,因此它的代码执行速度会比pythong更快。

到此这篇关于vba中的循环代码的使用的文章就介绍到这了,更多相关vba 循环内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com