2008年08月11日

Zoho Sheetマクロ機能の「制御構造」について


MS-Excel VBAの制御構造として多くの構文がありますが、Zoho Sheetマクロ機能では全て実現できています。

具体的には、

  1. 1つの条件で実行
    If 条件式 Then 処理
    又は
    If 条件式 Then
      処理
    End If

  2. 1つの条件で振り分け実行
    If 条件式 Then 処理1 Else 処理2
    又は
    If 条件式 Then
      処理1
    Else
      処理2
    End If

  3. 複数条件で振り分け実行
    If 条件式1 Then
      処理1
    ElseIf 条件式2 Then
      処理2
    ElseIf 条件式3 Then
      処理3
       ・・・・・・
    Else
      処理4
    End If

  4. 1つの対象条件で振り分け実行
    Select Case 条件判断の対象
    Case 条件式1
      処理1
    Case 条件式2
      処理2
       ・・・・・・
    Case Else
      処理3
    End Select

  5. 条件を満たす間は繰り返し実行
    Do While 条件式
      処理
    Loop

  6. 条件を満たさない間は繰り返し実行
    Do Until 条件式
      処理
    Loop

  7. 少なくとも1回は処理を実行
    Do
      処理
    Loop While 条件式
    又は
    Do
      処理
    Loop Until 条件式

  8. 指定回数の繰り返し実行
    Dim カウンタ変数
    For カウンタ変数 = 初期値 To 最終値 (Step 加算値)
      処理
    Next(カウンタ変数)

  9. 同型オブジェクトに実行
    Dim オブジェクト変数
    For Each オブジェクト変数 IN コレクション
      処理
    Next(オブジェクト変数)

  10. 繰り返し処理のネスト



但し、これらは全て単純な構文で確認しただけです【2008年8月9日現在】。

テーブル(リスト)やマトリックス内のセルを繰り返し実行するのに、参照したいセルを条件式や処理でダイナミックに変更したい場合に、ActiveSheetに対してMS-Excel VBAでは、

    Dim i As Integer, j As Integer
    For i = 3 To 7
        For j = 2 To 6
        Cells(i, j).Value = Cells(i, 1).Value + Cells(2, j).Value
        Next j
    Next i

という表現が許容されるのに対して、オブジェクトを明確に記述する必要があります。

    Dim i As Integer, j As Integer
    For i = 3 To 7
        For j = 2 To 6
        ActiveSheet.Cells(i, j).Value  _
           = ActiveSheet.Cells(i, 1).Value + ActiveSheet.Cells(2, j).Value
        Next j
    Next i

とする必要があります【2008年8月11日現在】。


posted by 鎌倉太郎 at 12:26| 🌁| Comment(0) | TrackBack(0) | 体験利用-Zoho Sheetマクロ | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください

この記事へのトラックバック