☃️

ExcelのマクロVBA入門①

2023/06/27に公開

マクロの流れ

  1. はじめに設定:開発タブを表示
  2. マクロ画面を開く:VBを起動(Visual Basic)
  3. マクロを作る:Sub/End Subを理解
  4. マクロを実行:F5キー、実行ボタン作成
  5. マクロを保存:マクロファイル指定

以上がマクロを書く・実行するにあたっての流れである。

参考コード

セルB3に100を入力したいときには以下のコードを書く

Sub セルB3に100を入力する()
  
  Range("B3") = 100
  `B3に100と入力
  
End Sub
  1. Subタイトル()
  2. セルのことをRangeと呼ぶ。ここに100と入力する
  3. 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

選択セルから範囲選択

手動だと?

  1. 選択したセルから、最後までセル選択
  2. 範囲選択したセルに100と入力
Sub 選択セルから範囲選択()

  Range(Selection,Selection.Offset(1,4).Select)
  
  Selection = 100
  
End Sub

復習

  1. 範囲選択
  • Range(①左上のセル,②右上のセル).Select
  1. 選択しているセル
  • Selection
  1. 選択しているセルから、下に1つ、右に4つ隣のセル
  • Selection.Offset(1,4)

Discussion