セル選択、セル操作、シート操作、文字列操作、日付の操作、ブックの操作のマクロ構文を初心者向けに解説しています。

マクロの初級構文集

セルの選択
構文 説明
Range(“B2”).select 1つのセルの選択(”B2のセル”)
Range(“A1:C3”).select 複数のセルの選択(A1からC3まですべて)
Cells(1,2).select セルの選択(B1のセル)
Rows(“1,5”).select 複数行の選択(1行目から5行目まで)
Range(“1:5”).select 複数行の選択その2(1行目から5行目まで)
columns(“D:F”).select 複数列の選択(D列からF列まで)
Cells.select すべてのセルを選択する
ActiveCell.offset(1,0).Activate セルの移動(1つ下へ)
ActiveCell.offset(0,1).Activate セルの移動(1つ右へ)
ActiveCell.offset(-1,1).Activate セルの移動(右斜め上方向へ)
セルの操作
構文 説明
ActiveCell.FormulaR1C1=”こんにちは” セルへの書き込み
a = ActiveCell.value セルの値の取得する(変数aに格納)
Selection.Copy セルの値をコピー
ActiveSheet.Paste コピーしたセルの値を貼り付け
a = ActiveCell.Row 現在選択されているセルの行位置を取得する
(変数aに格納)
a = Cells(Rows.count.”B”).End(xlUP).Row B列の最後のデータの行の行番号を取得する
(変数aに格納)
Selection.ClearCountents 現在選択されているセルのデータを削除
シートの操作
構文 説明
Sheets(“Sheet2”).Select シートを開く(シート名Sheet2)
Sheets(“Sheet2”).Copy シートをコピーする(シート名Sheet2)
for i = 1 To Sheets.count シートの数だけ繰り返すループ文
a = CStr(ActiveSheet.Name) シート名を取得する(変数aに格納)
Sheets(a).Name = “abc” シート名をabcという名前に変更する
Sheets.Add 新しいシートの作成
文字列の操作
構文 説明
a = trim(a) 空白文字(先頭と末尾のスペース文字(前半角共)を取り除く)
a = “abc” & “def” 文字列をつなぎ合わせる(a-“abcdef”)
a = Len(“abcdef”) 文字列の長さ(s=5)
a = Mid(“abcdef”3,2) 文字列cの3文字目から2文字を取り出す(a=”cd”)
a = left(“abcdef,2”) 文字列の左(先頭)から2文字を取り出す(a=”ab”)
a = right(“abcdef”,2) 文字列の右(お尻)から2文字を取り出す(a=”ef”)
a = StrConv(“ABcdEF”,vbUpperCase) 文字列を大文字に変換する(a=”ABCDEF”)
a = StrConv(“GHijKL”,vbLowerCase) 文字列を小文字に変換する(a=”ghijkl”)
a = StrConv(“ABC”,vbWide) 半角文字を全角文字に変換する(a=”ABC”)
a = StrConv(“DEF”,vbNarrow) 全角文字を半角文字に変換する(a=”DEF”)
日付の操作
構文 説明
s = Weekday(now()) 本日の曜日番号(日曜日が1、月曜日が2、・・・土曜日が7)
s = Weekday(“2019/12/11”) 2019年12月11日の曜日番号(s=4(水曜日))
a = format(now,”aaa”) 本日の曜日を日本語(日~土)で返す
a = format(“2019/12/5″,”aaa”) 2019年12月5日の曜日を日本語(日~土)で返す(a =”木”)
a = format(Date,”yyyy/mm/dd”) 本日の日付を”2020/01/01”形式の書式で返す
a = format(Date,”yyyy年mm月dd日”) 本日の日付を”2020年01月01日”形式の書式で返す
s = Year(Now()) 今年の年を返す(今が2020年だった場合s=2020)
s = Month(Now()) 今月の月を返す(今が9月だった場合s=9)
s = Day(Now()) 今日の日を返す(今が15日だった場合s=15)
ブックの操作
構文 説明
Workbooks.Open Filename:=”abc.xlsx” エクセルファイルのオープン
ActiveWorkbook.Save ワークブックを保存する
ActiveWorkbook.SaveAs Filename:=”abc.xlsx” ワークブックに名前を付けて保存する
ActiveWorkbook.Close True ワークブックを上書き保存してクローズする
ActiveWorkbook.Close False ワークブックを保存せずにクローズする(更新内容は破棄される)
ActiveWorkbook.Close ワークブックをクローズする(更新されている場合にはアラートがで)
Windows(“abc.xlsx”).Activate 複数のブックを開いているとき、指定した名前のブックをアクティブにする
Application.Quit エクセルを終了させる

【ひろゆきによる読み聞かせ(“Voiced by coefont.cloud”)】

もっと知るには・・・

エクセル仕事の自動化が誰でもできる本