我学VBA:For Each...Next应用


  任务描述 1 For Each...Next应用

  将工作表中报考浙江师范大学与浙江工商大学的学生数统计出来。

  案例:《零基础学EXCEL VBA》:For Each...Next 语句

  Sub 统计()

  Dim W As Range

  Set W = Range("A1:q50")

  Dim MYQ As Byte, MYQ2 As Byte

  For Each C In W

          If C = "浙江师范大学" Then

              MYQ = MYQ + 1

              ElseIf C = "浙江工商大学" Then

              MYQ2 = MYQ2 + 1

          End If

  Next

  MsgBox "浙江师范大学:" & MYQ & "人" & Chr(10) & "浙江工商大学:" & MYQ2 & "人", 64, "飞扬财务:专注于财务领域的应用与培训!"

  End Sub

  知识链接 1Range 对象成员

  代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。

  知识链接 2 For Each...Next 语句

  针对一个数组或集合中的每个元素,重复执行一组语句。

  语法

  For Each element In group

  [statements]

  [Exit For]

  [statements]

  Next [element]

  可以使用 For Each...Next 循环对某范围的单元格做循环。

  同步训练 1

  下面的过程会对于 Sheet1 中的 A1:D10 范围做循环,并将任何绝对值小于 0.01 的号码设为 0。

  Sub RoundToZero()

      For Each myObject in myCollection

          If Abs(myObject.Value) < 0.01 Then myObject.Value = 0

      Next

  End Sub

  欢迎使用高等教育出版社印制发行的地“十二五”规划教材《EXCEL在财务中的应用》(钭志斌)