作成2021/11/19
- 通常モードの「マクロ記録機能」で作成したコード
(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」が有効となります。
- 相対参照で記録を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でアクティブセルを相対移動します。
- プログラムに適した汎用性のある文字入力コード
(1)以下のコードを手入力します。
Sub Macro3()
i = 3: j = 2
Cells(i, j).Formula = "3.5"
End Sub
(2)iとjの値を変えることにより、自由な位置のセルに文字を入力できます。
(3)通常の文字入力では従来の「Formula」を使用します。
- プログラムに適した汎用性のある数値入力コード
(1)以下のコードを手入力します。
Sub Macro4()
i = 3: j = 2
Cells(i, j).Value = 3.5
End Sub
(2)iとjの値を変えることにより、自由な位置のセルに文字を入力できます。
(3)通常の数値入力では「Value」を使用します。
- ワークシートを指定した汎用性のある数値入力コード
(1)以下のコードを手入力します。
Sub Macro5()
i = 3: j = 2
Worksheets("Sheet1").Cells(i, j).Value = 3.5
End Sub
(2)ワークシートが複数枚ある場合は、ワークシートを指定したほうが安全です。
- VBE(Visual Basic Editor)のコード
(1)VBE(Visual Basic Editor)のコードは以下の図のようになります。
(2)Macro1〜5までの実行結果は全て同じとなります。
- ワークシートのセルに数値を入力するコードの推奨
(1)推奨はMacro5となり、「マクロ記録機能」の結果とは一致しません。
(2)手入力のコードを理解して、使いこなすことが重要です。
20:22 2021/10/26