Dzwebs.Net

撰写电脑技术杂文十余年

vba foreach实例

Admin | 2012-7-4 9:24:09 | 被阅次数 | 15537

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  下面的文章,着重为你介绍在VBA中的foreach循环的使用示例。

  一、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
  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"
  endif
  Next myCell


该杂文来自: Excel杂文

上一篇:感叹号!在Excel中的用途

下一篇:widechar单双字节转换函数Asc

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计