社交媒体 如何在Excel 2016中使用For-Next循环VBA - 傻瓜

如何在Excel 2016中使用For-Next循环VBA - 傻瓜

目录:

视频: vba05 For循环与数据批量处理 2025

视频: vba05 For循环与数据批量处理 2025
Anonim

Excel VBA编程中最简单的循环类型是For-Next循环。循环由计数器变量控制,计数器变量从一个值开始,在另一个值处停止。 For语句和Next语句之间的语句是在循环中重复的语句。

一个For-Next示例

以下示例使用For-Next循环对第一个1,000个正数进行求和。 Total变量从零开始。然后发生循环。变量Cnt是循环计数器。它从1开始,每次通过循环时加1。当Cnt是1,000时,循环结束。

<! --1 - >

这个例子在循环中只有一条语句。该语句将Cnt的值添加到Total变量中。当循环结束时,MsgBox显示数字的总和。

Sub AddNumbers()Dim Total As Double Dim Cnt As Long Total = 0 For Cnt = 1 To 1000 Total = Total + Cnt Next Cnt MsgBox Total End Sub

因为循环计数器是一个正常的变量,代码在For和Next语句之间的代码块中更改其值。但是,这是一个非常糟糕的做法。 <! - 2 - > For-Next示例(步骤

)您可以使用Step值跳过For-Next循环中的一些计数器值。这里是前面的例子,重写仅1和1,000之间的奇数:

Sub AddOddNumbers()Dim Total As Double Dim Cnt As Long Total = 0 For Cnt = 1 To 1000 Step 2 Total = Total + Cnt Next Cnt MsgBox Total End Sub

这次,Cnt从1开始,然后取值为3,5,7等等。 Step值确定计数器如何递增。请注意,上限值(1000)实际上并未使用,因为Cnt的最高值将是999.

<!下面是使用Step值为3的另一个示例。此过程适用于活动工作表,并将浅灰色阴影应用于从第1行到第100行的每第三行。

Sub ShadeEveryThirdRow( )昏暗我只要我= 1到100步骤3行(我)。室内。 Color = RGB(200,200,200)Next i End Sub

检查运行此宏的结果。

使用循环将背景阴影应用于行。

下一个带有Exit For语句的示例

For-Next循环也可以在循环中包含一个或多个Exit For语句。当VBA遇到这个语句时,循环立即终止。

以下示例演示了Exit For语句。此例程是一个函数过程,打算在工作表公式中使用。该函数接受一个参数(名为Str的变量)并将字符返回到第一个数字的左侧。例如,如果参数是“KBR98Z”,则函数返回“KBR”。 “

Function TextPart(Str)Dim i As Long TextPart =”“For I = 1 To Len(Str)If IsNumeric(Mid(Str,i,1))Then Exit For Else TextPart = TextPart&Mid(Str, i,1)End If Next i End Function

For-Next循环从1开始,以表示字符串中字符数的数字结束。该代码使用VBA的Mid函数来提取循环内的单个字符。如果找到数字字符,则执行Exit For语句,并且循环提前结束。

如果字符不是数字,则将其附加到返回的值(与函数的名称相同)。循环检查每个字符的唯一时间是如果作为参数传递的字符串不包含数字字符。

嵌套的For-Next示例

可以在循环中包含任意数量的语句,并将For-Next循环嵌套在其他For-Next循环中。

以下示例使用嵌套的For-Next循环将随机数插入到12行5列的单元格区域中。请注意,对于

外部循环

(带有列计数器的循环)的每次迭代,例程都执行

内部循环 (带有行计数器的循环)。换句话说,程序执行60次单元(行,列)= Rnd语句。 这些单元格使用嵌套的For-Next循环来填充。 Sub FillRange()Dim Col As Long Dim Row As Long For Col = 1 To 5 For Row = 1 To 12 Cells(Row,Col)= Rnd Next Row Next Col End Sub 下一个示例使用嵌套的For -Next循环用值100初始化一个三维数组。这个例程在所有循环(赋值语句)的中间执行1,000次(10 * 10 * 10)的语句,每次使用不同的组合对于i,j和k值:

Sub NestedLoops()Dim MyArray(10,10,10)Dim i As Long Dim j As Long Dim k As Long For i = 1 To 10 For j = 1 To 10对于k = 1到10 MyArray(i,j,k)= 100下一个k下一个j下一个i'其他语句在这里End Sub
下面是使用嵌套的For-Next循环和Step值的最后一个例子。此过程通过更改交替单元格的背景颜色来创建棋盘格。

使用循环创建棋盘图案。

行计数器从1到8循环。一个If-Then构造确定使用哪个嵌套的For-Next结构。对于奇数行,Col计数器以2开始。对于偶数行,Col计数器从1开始。两个循环都使用2的Step值,因此交替单元格会受到影响。两个额外的陈述使细胞正方形(就像一个真正的棋盘)。 Sub MakeCheckboard()Dim R As Long,C As Long For R = 1 to 8如果WorksheetFunction。然后对于C = 2至8步骤2单元(R,C)。室内。颜色= 255下一个C否则对于C = 1到8步骤2单元(R,C)。室内。颜色= 255下一个C结束如果下一个R行(“1:8”)。RowHeight = 35列(“A:H”)。 ColumnWidth = 6.5 End Sub
如何在Excel 2016中使用For-Next循环VBA - 傻瓜

编辑的选择

在QuickBooks Online中使用批发帐单 - 虚拟

在QuickBooks Online中使用批发帐单 - 虚拟

QuickBooks Online为会计专业人员提供免费程序。您可以注册批发价格计划,也可以免费使用QBOA。如果你选择这样做(这是一个不错的选择!),你将需要知道如何管理的事情。从您的批发帐单订阅中删除客户有时候,事情并不是这样...

基于零基础的预算与QuickBooks 2012 - 傻瓜

基于零基础的预算与QuickBooks 2012 - 傻瓜

零基预算是一个非常有用和常用的预算策略在使用QuickBooks 2012之前,您应该先了解一下。基于零的预算与顶级预算相反。零基预算从下到上工作。零基预算始于个人收入,费用,资产,负债和所有者权益账户。它检查一个特定的...

在Sage Timeslips中10个有用的键盘快捷键 - 虚拟键盘

在Sage Timeslips中10个有用的键盘快捷键 - 虚拟键盘

键盘快捷键可以是Sage Timeslips 。启动或保存一张单据,将昨天,今天或明天的日期插入日期字段,并用一个或两个按键打开和关闭定时器。以下是十大最爱。按下它做什么Ctrl + N开始一个新的投票,而工作在...

编辑的选择

可以在Photoshop Elements 11中的任意形状图层上绘制多个图形 - 虚拟模型

可以在Photoshop Elements 11中的任意形状图层上绘制多个图形 - 虚拟模型

Photoshop Elements 11中创建的任何形状图层上的图形。您可以按照与选择相同的方式添加,减去,排除重叠和相交形状。请遵循以下步骤:创建第一个形状后,在工具选项:添加到形状区域中选择一个状态按钮:...

使用读卡器将图像下载到Mac上 - 傻瓜

使用读卡器将图像下载到Mac上 - 傻瓜

您的相机可能有一个USB端口,电缆,您可以使用下载您的图像。这种方法使用相机电池电力,也相当缓慢。如果您使用读卡器,则会更快地将图像存入计算机。如果您下载了大量的图像,请考虑购买FireWire读卡器; ...

在Photoshop Elements 10中创建形状图层后,在Photoshop Elements 10中绘制多个图形 - 虚拟形状

在Photoshop Elements 10中创建形状图层后,在Photoshop Elements 10中绘制多个图形 - 虚拟形状

可以在该图层上绘制其他形状。您可以按照与选择相同的方式添加,减去,重叠和相交形状。请记住,当您在元素中创建一个形状时,您正在创建一个基于矢量的元素。向量在数学上描述形状。 ...

编辑的选择

在您的IOS应用程序中添加模态视图 - 在iPhone和iPad上虚拟视图

在您的IOS应用程序中添加模态视图 - 在iPhone和iPad上虚拟视图

对于那些希望用户(或用户想要)在应用程序流之外执行某些操作的情况非常适用。而不是使用带有后退按钮的导航控制器,而是显示一个模式视图,其中的控件允许用户选择一个动作或...

Android应用程序开发:你的Twitter应用程序的文件 - 傻瓜

Android应用程序开发:你的Twitter应用程序的文件 - 傻瓜

,这个Android Studio项目包含大约100个文件和大约170个不同的文件夹。要制作Android Twitter应用程序,您需要专注于该项目的MainActivity。 java文件。但其他一些文件需要注意。 Twitter4J API jar文件Android没有内置的通信支持...