VBA中的循环代码的使用

 更新时间:2023年06月05日 08:49:30   作者:PythonFun  
本文主要介绍了VBA中的循环代码的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

最近,我在自学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 循环内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • excel vba 高亮显示当前行代码

    excel vba 高亮显示当前行代码

    用条件格式设置高亮显示当前行,难的是如何确定当前行。用VBA就很简单,鼠标右击工作表标签,选择“查看代码”,将下面的代码粘贴到VBE窗口中
    2009-07-07
  • VBA中Excel宏的介绍及应用

    VBA中Excel宏的介绍及应用

    本文主要介绍了VBA中Excel宏的介绍及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • vba 获取PPT幻灯片中的所有标题的代码

    vba 获取PPT幻灯片中的所有标题的代码

    有时候需要获取PPT幻灯片中的所有标题,如果手工的复制肯定很慢,那么可以用vba批量获取,提高工作效率。
    2010-08-08
  • Excel?VBA按列拆分工作表和工作簿的实现

    Excel?VBA按列拆分工作表和工作簿的实现

    表格拆分是常见的数据处理,本文主要介绍了Excel?VBA按列拆分工作表和工作簿的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 用vba实现将记录集输出到Excel模板

    用vba实现将记录集输出到Excel模板

    用vba实现将记录集输出到Excel模板...
    2007-02-02
  • VBA实现全文件快速替换的示例代码

    VBA实现全文件快速替换的示例代码

    要想一下子就替换掉很多个WORD文档中的内容,我们可以使用VBA的办法,本文主要介绍了VBA实现全文件快速替换的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • 关于vba代码运行时错误1004?应用程序定义或对象定义错误问题

    关于vba代码运行时错误1004?应用程序定义或对象定义错误问题

    这篇文章主要介绍了vba代码运行时错误1004?应用程序定义或对象定义错误,经过一系列问题调查发现是工作表中数据存在异常,需要的朋友可以参考下
    2022-10-10
  • Excel?VBA指定条件删除整行整列的实现

    Excel?VBA指定条件删除整行整列的实现

    本文主要介绍了Excel?VBA指定条件删除整行整列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 向数据报表添加一个合计字段

    向数据报表添加一个合计字段

    在数据环境设计器中也可以创建一个合计字段,即对来自部分的数据进行合计的字段。
    2009-07-07
  • VBA 编程基础

    VBA 编程基础

    好多朋友想学习vba但相关资料不是很多,其实就是利用了vb的语法,结合office
    2009-07-07

最新评论

?


http://www.vxiaotou.com