☃️
ExcelのマクロVBA入門①
マクロの流れ
- はじめに設定:開発タブを表示
- マクロ画面を開く:VBを起動(Visual Basic)
- マクロを作る:Sub/End Subを理解
- マクロを実行:F5キー、実行ボタン作成
- マクロを保存:マクロファイル指定
以上がマクロを書く・実行するにあたっての流れである。
参考コード
セルB3に100を入力したいときには以下のコードを書く
Sub セルB3に100を入力する()
Range("B3") = 100
`B3に100と入力
End Sub
- Subタイトル()
- セルのことをRangeと呼ぶ。ここに100と入力する
- End Subで終了
※コメントを残したいときは「`」でEnterを押すと緑色の文字となる
セルの選択をマスター
セル範囲:Range
選択セル:Selection
セルを選択する:Select
隣のセルを選択:Selection + Offset + Select
選択セルから範囲選択:Selection + Offset + Range + select
セル範囲
ここでは複数のセル選択の場合を記述する。
例:セルB3からC7に入力
Sub セルB3からC7に100と入力()
Range("B3:C7") = 100
End Sub
選択セル
例:選択したセルに100と入力
Sub 選択したセルに100と入力()
Selection = 100
End Sub
セルを選択する
これまで:手作業でセルB3をクリックして、セル選択
↓
問題点:多くのセルをいちいちクリックは面倒
↓
これから:マクロを使ってセル自動的にB3を選択
今回のマクロ
(1) セルB3を選択
(2) 選択したセルに100を入力
Sub セルB3を選択して入力()
Range("B3").Select
Selection = 100
End Sub
隣のセルを選択
これまで:移動先のセルを指定していた(セルB3,C7,F9・・・)
↓
問題点:毎回セルを指定するのは面倒
↓
これから:
選択セルから「1つ右のセル」「3つ下のセル」に移動
今回のマクロ
セルD4を選択
選択セルに100と入力
1つ右のセルを選択
選択セルに100と入力
3つ下、1つ左のセルを選択
選択セルに100と入力
1つ右のセルを選択
選択セルに100と入力
コード化
Range("D4").Select
Selection = 100
Selection.Offset(0,1).Select
Selection = 100
Selection.Offset(3,-1).Select
Selection = 100
Selection.Offset(0,1).Select
Selection = 100
選択セルから範囲選択
手動だと?
- 選択したセルから、最後までセル選択
- 範囲選択したセルに100と入力
Sub 選択セルから範囲選択()
Range(Selection,Selection.Offset(1,4).Select)
Selection = 100
End Sub
復習
- 範囲選択
- Range(①左上のセル,②右上のセル).Select
- 選択しているセル
- Selection
- 選択しているセルから、下に1つ、右に4つ隣のセル
- Selection.Offset(1,4)
Discussion