VBA中的循环代码大全

这篇具有很好参考价值的文章主要介绍了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. 通过遍历cell对象法

通过定义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

4. 利用do while.. loop循环

通过do wile... loop 循环,并设置循环终止条件,进行批量填充。代码如下:

Sub 填充单元格4()
Dim i As Integer
i = 1
Do While i < 11
     Range("A" & i).Value = i
     i = i + 1
Loop
End Sub

5. 循环遍历每一个单元格

我们用currentregion获取不间断的非空单元格,然后赋值给Range对象,再遍历这个对象来取值,代码如下:

Sub test1()
Dim cell As Range
Dim rg As Range
Set rg = ActiveSheet.Range("A1").CurrentRegion
For Each cell In rg
    Debug.Print cell.Value
Next cell
End Sub

6. 数组遍历每一个单元格

定义一个数组arr,把每一个单元格的内容赋值给数组,然后循环遍历打印出来。

Sub 遍历单元格()

Dim arr As Variant
Dim i As Long
Dim j As Long
arr = ActiveSheet.Range("A1").CurrentRegion
For i = 1 To 4
    For j = 1 To 2
        Debug.Print arr(i, j)
   Next j
Next i
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单元格中填充当前工作表的表名。文章来源地址https://www.toymoban.com/news/detail-471512.html

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

四、注意事项

  1. for循环是成对的,一定要注意加上next X, 否则程序就会报错。
  2. VBA的循环大概分二种,一种是对象法,一种是切片法,推荐用对象法,不用考虑对象的数量。
  3. 标识单元格可以用Range和Cells两种方法,各有优劣,可以有选择地使用。
  4. 与Python编程不同的是,VBA编程中要提前定义对象类型,因此它的代码执行速度会比Pythong更快。

到了这里,关于VBA中的循环代码大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ADB命令大全--自学留存

    ADB常用命令用于速查,都是经常需要用到的,没有接触过adb命令从第二节开始看,对每个命令有详细解释。 adb [-d|-e|-s ] 连接指定设备 参数: -d 指定当前唯一通过USB 连接的Android 设备为命令目标 -e 指定当前唯一运行的模拟器为命令目标 -s 指定相应serialNumber 号的设备/模拟器

    2024年01月17日
    浏览(40)
  • JavaScript for循环语句的特殊案例,用代码解决数学中的问题

    案例一: 一百个和尚分一百个馒头,大和尚一人分三个,小和尚三人分一个,正好分完。问大、小和尚各几人? 案例二: 案例:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 案例三: 小明单位发了100元的购物卡,小明到超市买三

    2024年02月06日
    浏览(43)
  • 自学黑客/网络安全工具软件大全100套

    Nessus 是最好的免费网络漏洞扫描器,它可以运行于几乎所有的UNIX平台之上。它不止永久升级,还免费提供多达11000种插件(但需要注册并接受EULA-acceptance–终端用户授权协议)。它的主要功能是远程或本地(已授权的)安全检查,客户端/服务器架构,GTK(Linux下的一种图形界

    2024年02月08日
    浏览(61)
  • IDEA回滚代码到之前历史版本

    本文介绍,使用idea可视化操作。 1.点击最下方Git,或者项目点击右键git—show history ,可以看到提交记录如下 2.如果你想回滚到对应的步骤,则如上图所示,选择分支,右键,Copy Revision Numbers . 3.点击最上方Git,选择Reset Head ,然后如下图,输入cpoy到的对应版本号 revision numbers.

    2024年02月11日
    浏览(52)
  • 低代码让人人都是开发者,高校人才有了努力的新方向

    诸葛斌教授凭借着他的开拓创新精神,他和他的学生不仅通过钉钉宜搭低代码平台开发了校园智慧党建系统,还在省级创新竞赛中获得佳绩,更创建了国内第一家以宜搭低代码为主营业务的大学生创业公司。 随着中国信息技术飞速的发展,云计算、AI、5G等创新技术被更多地

    2023年04月20日
    浏览(69)
  • Python和VBA批量提取Word中的表格

    表格在word文档中常见的文档元素之一。操作word文件时有时需要提取文件中多个表格的内容到一个新的文件,甚至有时还会要提取题注信息。 今天,给大家分享两种批量提取文档中表格的两种方法,分别是VBA法和Python法两种。 1. 代码实现 VBA(Visual Basic for Applications)操作Wo

    2024年02月19日
    浏览(60)
  • VBA代码宝工具箱(陈表达)

    工具箱: xlam 类型工具箱 数据源:存放在隐藏工作簿的xlam文件的表里,可通过代码读取和写入,读取和写入功能源码在excel的VBA工程模块,代码全部开源 使用窗体: listbox列表框控件 和 textbox文本框控件 和 Button按钮控件等等 菜单部分,最重要部分是VBA代码宝、和VBE代码助手

    2024年02月15日
    浏览(94)
  • 实用VBA:17.大量word文件中的文本内容进行批量替换

    在工作中可能会遇到需要对大量word文件中的文字内容进行批量替换的情况。相比excel的批量处理,个人感觉word文档中由于包含大量样式信息,批处理时总感觉有顾虑。一者担心影响了文档的格式,误修改了文档的样式,那后果……整过文档的小伙伴都懂的;二者担心批处理不

    2024年01月25日
    浏览(41)
  • git commit之前,没有pull最新代码,导致无法push代码如何解决?——git三板斧

    如果在 git commit 之前没有 pull 最新代码,再进行 push 操作可能会出现冲突,导致无法 push 代码。此时, git 会提示类似以下的错误信息: 这个错误提示说明了更新被拒绝,因为远程仓库包含了本地仓库没有的工作。这通常是由于其他人已经推送了代码,或者你在另一个地方进

    2024年02月13日
    浏览(114)
  • HBuilderx 坑 之前没问题 改了几行代码 小程序上传报分包大小超过限制

      目录 Error: 分包大小超过限制,main package source size 4199KB exceed max limit 2MB [20221008 16:08:06][wx432abdb518bdc1eb] 本文重点来了!! 如题:小程序,只改了几行代码,上传报主包超过限制,简直有毒,估计很多人都遇到过此类情况,官方解释的优化方案也不是很好用,但是今天我试了一

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包