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

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

目录:

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

视频: vba05 For循环与数据批量处理 2024
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 - 傻瓜

编辑的选择

古饮食计划:吃什么早餐 - 假人

古饮食计划:吃什么早餐 - 假人

一个发展的挑战早餐的一个古人(洞穴人)饮食膳食计划重新定义了哪些食物适合早餐的想法。谷类或鸡蛋和面包的非古式“传统”早餐不会削减它。不要试图将你的旧餐理念改造成新的古代格式,你可以尝试吃任何东西...

如何构建IOS应用程序

如何构建IOS应用程序

在Xcode中构建iOS应用程序意味着编译所有源代码代码文件在项目中。在构建和运行从模板创建的项目时,看到您所得到的结果真是令人兴奋。构建和运行应用程序相对简单;只需按照以下步骤操作:在工具栏中,选择一个方案...

编辑的选择

如何计算企业的盈亏平衡点 - 傻瓜

如何计算企业的盈亏平衡点 - 傻瓜

以下是您想知道的关于您拥有的业务或操作:您想知道公司必须达到的销售收入才能达到收支平衡。换句话说,你想知道产生零利润的销售收入数量,而不是零损失。幸运的是,无论是这种计算,还是...

如何使用QuickBooks 2014评估财务费用 - 傻瓜

如何使用QuickBooks 2014评估财务费用 - 傻瓜

您可以告诉QuickBooks在逾期时评估财务费用客户发票。为此,您首先设置财务费用计算规则。完成此操作后,您可以通过选择QuickBooks命令轻松评估逾期金额的财务费用。设置财务费用规则要设置财务费用规则,请选择...

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

QuickBooks 2012允许您计算产品盈亏平衡点快速简单。盈亏平衡点显示产生零利润和零损失的销售收入。记得进行利润 - 成本 - 成本分析的公式吗?它是这样的:利润=(销售收入x毛利率百分比) - 固定成本而不是计算利润的基础上...

编辑的选择

如何更改您的计算机的用户帐户图片 - 傻瓜

如何更改您的计算机的用户帐户图片 - 傻瓜

不仅每个使用您的计算机的人都有他自己的用户帐户,但每个用户都可以添加一个图片到用户帐户。所以,如果你不喜欢与你的用户帐户相关的图片,你运气好 - 你可以改变它。无论你选择什么样的图片,它都会出现在欢迎...

:如何更改您的计算机的桌面背景 - 傻瓜

:如何更改您的计算机的桌面背景 - 傻瓜

Windows桌面为您提供灵活性使其个性化。您可以在桌面上显示您最喜欢的孙子的照片,或使用您选择的颜色作为背景。改变电脑桌面背景的可能性几乎是无止境的。您甚至可以应用桌面主题,它应用了多种颜色和...

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

窗口内置桌面主题,您可以应用快速更改您的计算机的桌面的外观。这些桌面主题保存了包括菜单外观,背景颜色或图案,屏幕保护程序,甚至鼠标光标和系统声音的元素集。主题保存包含菜单外观,背景颜色或图案的元素集合...