vba foreach实例

2016-02-19 12:57 6 1 收藏

下面图老师小编跟大家分享一个简单易学的vba foreach实例教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Excel教程 】

一、foreach语法

For Each...Next 语句对数组或集合中的每个元素重复执行一组语句。

For Each element In group

[statements]

[Exit For]

[statements]

Next [element]

参数介绍:

element 用来枚举集合或数组中所有元素的变量。对于集合,element 可能是 Variant 变量、通用 Object 变量或任意指定的 Automation 对象变量。对于数组,element 只能是 Variant 变量。

group 对象集合或数组的名称。

statements 对于 group 中的每一项执行的一条或多条语句。 说明如果 group 中有至少一个元素,就会进入 For Each 块执行。一旦进入循环,便首先对 group 中第一个元素执行循环中的所有语句。只要 group 中还有其他的元素,就会对每个元素执行循环中的语句。当 group 中的没有其他元素时退出循环,然后从 Next 语句之后的语句继续执行。

Exit For 只能用于 For Each...Next 或 For...Next 控制结构中,提供另一种退出循环的方法。可在循环的任意位置放置任意个 Exit For 语句。Exit For 经常和条件判断语句一起使用(例如 If...Then),并立即将控制权转移到 Next 之后的语句。

可以将一个 For Each...Next 循环放置在另一个之中,组成嵌套式 For Each...Next 循环。但是每个循环的 element 必须是唯一的。注意 如果省略 Next 语句中的 element,则程序仍会象已包含它一样继续执行。如果 Next 语句在其相应的 For 语句之前出现,则会产生错误。

二、foreach例子

Dim Myarr(3) As Integer

Myarr(0) =3

Myarr(1) = 4

Myarr(2) = 5

Myarr(3) = 6

ForEach i In Myarr

MsgBox i

Next i

注意,在使用ForEach时,不必给数组标明其下标为多少。

Dim rng As Range, Arr, sums&

sums = 0

ForEach rng In Range("B1:B100")

sums = sums + rng.Row

Next

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

MsgBox sums

再来看具体的例子

Set myTotal = myRange.Offset(myRange.Rows.Count - 1).Rows

For Each myCell In myTotal

If IsNumeric(myCell.Value) = False Then

myCell.Value = "Total"

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

endif

Next myCell

来源:https://www.tulaoshi.com/n/20160219/1602594.html

延伸阅读
标签: 电脑入门
①升序排序的VBA数组 Function UP(x()) As Variant() Dim i As Integer, j As Integer, a, d() ReDim sx(LBound(x) To UBound(x)), d(LBound(x) To UBound(x)) d = x If LBound(x) = UBound(x) Then sx = d Exit Function End If For i = LBound(x) To UBound(x) - 1 For j = i + 1 To UBound(x) If d(j) d(i) Then a = d(j): d(j...
标签: 电脑入门
以下代码的功能,是配合select,将Excel导出为XML文件。 Const stSQL As String = "SELECT * FROM [Report]" Dim stCon As String stCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ThisWorkbook.FullName & ";" & _ "Extended Properties=""E...
标签: autocad教程
    实例1 最简单的VBA程序—“Hello.dvb”     Step 1 创建新文件     运行Auto CAD 2002系统,以“acadiso.dwt”为样板创建图形文件,并调用“vbaide”命令进入VBA环境;     Step 2 创建窗体     (1) 选择菜单【Insert(插...
Access爱好者以会Vba为荣。我觉得这不是好现象。vba只是vb的子集,有着很多限制,比如不支持继承,不支持指针,不支持子界类型等。使用vba操作office 家族之外的数据结构是非常困难的。vba只是Access的一个特性。实际上没有vba微软也可以照旧大卖access。有了vba,只不过使access应用更加个性化。不要把太多的功能加在vba之上,尽管它能够...
标签: 电脑入门
以下的VBA代码,可以控制鼠标的活动范围,即控制鼠标能操作的范围。哪里能操作,哪里不能操作,都能控制。 代码如下,附带诠释。 With ActiveSheet "With 语句,在一个单一对象上执行一系列的语句 .Unprotect "解除没设密码的工作表保护 .Cells.Locked = False "解除活动工作表中所有单元格的锁定 .Range("F1:J99").Locked = T...

经验教程

904

收藏

50
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部