2章:ワークシートのセルに数値を入力

    作成2021/11/19

  1. 通常モードの「マクロ記録機能」で作成したコード
    (1)”Sheet1”のA1セルをアクティブにして通常モードの「マクロ記録機能」でコードを作成します。
    (2)不要なコードを削除するとVBE(Visual Basic Editor)のコードは以下のようになります。
    Sub Macro1()
        Range("B3").Select
        ActiveCell.FormulaR1C1 = "3.5"
    End Sub
    
    (3)「FormulaR1C1」という記述はEXCEL97ではなかった記述です。EXCEL2019で追加された新しい機能ですが、通常の文字入力においては、従来の「Formula」に置き換えても問題はありません。極めて特殊なケースにおいてのみ「FormulaR1C1」が有効となります。

  2. 相対参照で記録をONの「マクロ記録機能」で作成したコード
    (1)”Sheet1”のA1セルをアクティブにして相対参照で記録をONの「マクロ記録機能」でコードを作成します。
    (2)不要なコードを削除するとVBE(Visual Basic Editor)のコードは以下のようになります。
    Sub Macro2()
        ActiveCell.Offset(2, 1).Range("A1").Select
        ActiveCell.FormulaR1C1 = "3.5"
    End Sub
    
    (3)ActiveCell.Offset(2, 1).Range("A1").Selectでアクティブセルを相対移動します。

  3. プログラムに適した汎用性のある文字入力コード
    (1)以下のコードを手入力します。
    Sub Macro3()
        i = 3: j = 2
        Cells(i, j).Formula = "3.5"
    End Sub
    
    (2)iとjの値を変えることにより、自由な位置のセルに文字を入力できます。
    (3)通常の文字入力では従来の「Formula」を使用します。

  4. プログラムに適した汎用性のある数値入力コード
    (1)以下のコードを手入力します。
    Sub Macro4()
        i = 3: j = 2
        Cells(i, j).Value = 3.5
    End Sub
    
    (2)iとjの値を変えることにより、自由な位置のセルに文字を入力できます。
    (3)通常の数値入力では「Value」を使用します。

  5. ワークシートを指定した汎用性のある数値入力コード
    (1)以下のコードを手入力します。
    Sub Macro5()
        i = 3: j = 2
        Worksheets("Sheet1").Cells(i, j).Value = 3.5
    End Sub
    
    (2)ワークシートが複数枚ある場合は、ワークシートを指定したほうが安全です。

  6. VBE(Visual Basic Editor)のコード
    (1)VBE(Visual Basic Editor)のコードは以下の図のようになります。



    (2)Macro1〜5までの実行結果は全て同じとなります。

  7. ワークシートのセルに数値を入力するコードの推奨
    (1)推奨はMacro5となり、「マクロ記録機能」の結果とは一致しません。
    (2)手入力のコードを理解して、使いこなすことが重要です。
    20:22 2021/10/26


3章:VBAのデバッグに行く。

トップページに戻る。