【Excel VBA】在 Excel VBA 中使用 For 循环全面指南

在 Excel VBA 中使用 For 循环全面指南

在Excel VBA开发环境中处理数据和自动化任务时,For循环是不可或缺的工具。田辛老师在这篇博客中将详细讲解如何在Excel VBA中使用For循环,并通过几个实际的案例来展示其应用。本文中的所有示例都遵循田辛老师推荐的命名规范,并且可以直接在Excel VBA开发界面中运行。

1 For 循环基础

在 VBA 中,For循环提供了一种在确定的次数内重复执行代码块的简单方法。下面是For循环的基本语法:

For counter = start To end [Step step]
' 执行的代码块
Next
  • counter:循环计数器。
  • start:计数器的起始值。
  • end:计数器的结束值。
  • step:计数器每次循环增加的值,默认为1。

1.1 基本的 For 循环

这是一个基本的For循环示例,用于从 1 到 5 进行计数。

' ==================================================================================================
' Sub 名称: Example1
' 描述: 展示如何使用基本的 For 循环从1到5进行计数。
' 作者: 田辛老师
' 日期: 2024-05-05
' ==================================================================================================
Sub Example1()Dim l_loopCounter As Integer ' 循环计数变量For l_loopCounter = 1 To 5Debug.Print "Count is: " & l_loopCounter ' 在Immediate窗口输出计数Next l_loopCounter
End Sub

1.2 使用 Step 关键字

Step 关键字使我们可以自定义计数器的增减步长。

' ==================================================================================================
' Sub 名称: Example2
' 描述: 使用 Step 关键字以递减的方式从10到1计数。
' 作者: 田辛老师
' 日期: 2024-05-05 ==================================================================================================
Sub Example2()Dim l_loopCounter As Integer ' 循环计数变量For l_loopCounter = 10 To 1 Step -1Debug.Print "Count down: " & l_loopCounter ' 在Immediate窗口输出递减的计数Next l_loopCounter
End Sub

2 高级 For 循环用法

2.1 循环遍历数组

For 循环可以用来遍历数组中的每个元素,如下示例所示。

' ==================================================================================================
' Sub 名称: Example3
' 描述: 遍历数组中的每个元素。
' 作者: 田辛老师
' 日期: 2024-05-05
' ==================================================================================================
Sub Example3()Dim l_arrFruits(4) As String ' 声明并初始化字符串数组Dim l_loopIndex As Integer ' 循环计数变量' 数组赋值l_arrFruits(0) = "Apple"l_arrFruits(1) = "Banana"l_arrFruits(2) = "Cherry"l_arrFruits(3) = "Date"l_arrFruits(4) = "Elderberry"For l_loopIndex = 0 To UBound(l_arrFruits)Debug.Print "Fruit: " & l_arrFruits(l_loopIndex) ' 在Immediate窗口输出每个水果的名称Next l_loopIndex
End Sub

2.2 嵌套 For 循环

嵌套的 For 循环可以处理多维数组或复杂的数据结构。

' ==================================================================================================
' Sub 名称: Example4
' 描述: 使用嵌套的 For 循环生成一个 3x3 的数字矩阵。
' 作者: 田辛老师
' 日期: 2024-05-05
' ==================================================================================================
Sub Example4()Dim l_loopi As Integer ' 外层循环计数变量Dim l_loopj As Integer ' 内层循环计数变量For l_loopi = 1 To 3For l_loopj = 1 To 3Debug.Print "Element at (" & l_loopi & "," & l_loopj & "): " & l_loopi * l_loopj ' 在Immediate窗口输出矩阵中的元素Next l_loopjNext l_loopi
End Sub

3 结语

田辛老师希望通过这些示例,您能看到 For 循环在 Excel VBA 中的强大作用。无论是简单的计数任务,还是复杂的数组和矩阵操作,For 循环都能简洁地完成任务。正确使用这些结构可以大幅提高您的代码效率和可读性,使您的自动化任务更加高效。希望这篇博客能帮助您更好地理解和使用 Excel VBA 中的 For 循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1412674.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

一、写给Android开发者之harmony入门

一、创建新项目 对比 android-studio:ability类似安卓activity ability分为两种类型(Stage模型) UIAbility和Extensionability(提供系统服务和后台任务) 启动模式 1、 singleton启动模式:单例 2、 multiton启动模式&#xff1…

Ubuntu 20.04安装桌面XFCE

1.安装Xfce软件包 $ sudo apt update $ sudo apt install xfce42.选择gdm3和lightdm 我这里选择的是lightdm LightDM,即:Light Display Manager,是一个全新的、轻量的Linux桌面的桌面显示管理器,而传统的Ubuntu用的是GNOME桌面…

文本内容如何扫码展示?文本转二维码常用技巧

随着网络的不断发展,现在很多人会通过二维码的方式来作为内容的载体,用来给其他人提供需要的信息或者其他内容。其中,将文本制作二维码就是很常用的一种方式,通过扫码展示文字内容,比如信件、物品信息、联系方式等类型…

FFmpeg学习记录(四)——SDL音视频渲染实战

1.SDL使用的基本步骤 SDL Init/sDL _Quit()SDL_CreateWindow()/SDL_DestoryWindow()SDL CreateRender() SDL_Windows *windows NULL;SDL_Init(SDL_INIT_VIDEO);window SDL_CreateWindow("SDL2 Windows",200,200, 640,480,SDL_WINDOW_SHOWN);if(!window) {printf(&…

CSF(Cloth Simulation Filter)点云地面点滤波

CSF[Cloth Simulation Filter]点云地面点滤波 0.引言1.布料模拟2.修改布料模拟3.布料滤波4.CSF总体过程 0.引言 code 基本原理:原始点云被倒置过来,然后⼀块布从上⽅掉落到倒置的表⾯。通过分析布的节点与相应的LIDAR点之间的相互作⽤,可以确…

菜鸡学习netty源码(五)—— EventLoop

1.EventLoop的类关系图 2. EventExecutor /*** 返回自身的对象* Returns a reference to itself.*/OverrideEventExecutor next();/*** 获取所属的EventExecutorGroup* Return the {link EventExecutorGroup} which is the parent of this {link EventExecutor},*/EventExecuto…

学习java中的interface接口

1.了解接口 java提供了一个关键字interface,用这个关键字我们可以定义出一个特殊的结构:接口 格式: public interface 接口名{ //成员变量(常量) //成员方法(抽象方法) } 注意:接…

基于AT89C51单片机的温度上下限自动控制检报警设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89247694?spm=1001.2014.3001.5501 C 源码+仿真图+毕业设计+实物制作步骤+06 题 目 基于单片机的温度检测调节系统设计 姓 名 学 号 专业班级 指导教师 年 月 日 任务书 …

【在线OJ】Vue在线OJ项目

一、主页 二、题库 三、在线编译器 四、比赛 五、搜索 六、个人主页

CP,FT,WAT有什么区别?

‍ 知 识星球(星球名: 芯片制造与封测社区,星球号: 63559049)里的学员问: CP,FT,WAT都是与 芯片的测试有关,他们有什么区别呢? 如何区‍分? ‍ ‍ CP,FT,WAT分别…

解读简单的一段深度学习代码(已跑通)

最近一直想要学习深度学习的内容,想要复现大佬的代码,试了好多有的是不给数据,有的总是跑不通,这一个是已经跑通的一个代码,以上为证,学习最快的方式就是直接实战,大部分的内容都是比较偏向于理…

义乌购商品详情API接口:探索海量商品的深度信息

一、API接口概述 义乌购的商品详情API接口是专为商家和开发者提供的一个服务接口,通过该接口,您可以轻松获取指定商品的详细信息。这些信息包括但不限于商品名称、价格、库存、描述、图片、规格参数等。这些详细信息对于商品展示、比价、推荐等场景具有…

【动态规划】投资问题

本文利用markdown基于https://blog.csdn.net/qq_41926985/article/details/105627049重写,代码部分为本人编辑 代码要求 应用动态规划方法,求解投资问题,实现下面的例子。 #define MAX_N 4 //最大投资项目数目 #define MAX_M 5 //最大投资钱数(万元) /…

VGA接口驱动与图像显示动态移动(未完)

描述: 实现vga彩条显示,并以彩条为背景,显示一个200x200像素的白色方框(可填充任意像素匹配的照片),可以实现如下移动规律: 水平方向和竖直方向的速度一样。当一个方向碰到边框的时候&#xff…

前端工程化06-JavaScript模块化CommonJS规范ES Module

7、JavaScript模块化 在js开发中,他并没有拆分的概念,并不像java一样他可以拆分很多的包,很多的类,像搭积木一样完成一个大型项目的开发,所以js在前期的时候并不适合大型后端的项目开发,但是这些问题在后来…

Consul持久化配置并注册为Windows服务

一、在安装目录下新建文件夹 1.1 新建文件夹mydata 1.2 新建bat文件 命名为consul_start.bat 其内容为: binpath改为自己的安装路径,data-dir就是新建mydata的路径 echo.服务启动...... echo off sc create Consul binpath "E:\Developer_to…

系统安全与应用【1】

一、账号安全基本措施 1、系统账号清理 将非登录用户的Shell设为/sbin/nologin锁定长期不使用的账号删除无用的账号锁定账号文件passwd、shadow chattr i /etc/passwd 锁定文件 lsattr /etc/passwd 查看状态 chattr -i /etc/pass…

力扣每日一题111:二叉树的最小深度

题目 简单 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:2示例 2&#x…

Linux网络部分——DHCP、FTP

目录 一、DHCP动态主机配置协议 1. DHCP工作原理(流程) 2. 使用DHCP的好处 3.DHCP的分配方式 4.DHCP安装和配置【☆】 二、FTP文件传输协议 1. FTP传输模式 2.FTP安装与配置【☆】 3. FTP设置白名单和黑名单【☆】 一、DHCP动态主机配置协议 DH…

RK3568 学习笔记 : 精简 u-boot env 默认复杂的多种引导启动设置

前言 环境: 正点原子 Atompi-CA1 RK3568 开发板、正点原子 DLRK3568 开发板,(一时脑热买了两块 RK3568 开发板),Atompi-CA1 RK3568 开发板比较小巧,利于一些前期的嵌入式 Linux 开发学习与实践。 RK3568 开…