Excelマクロ覚書 ~ワークシートの操作編~
図書館で借りてきた某書籍の覚書です。
- 【ワークシートを選択する】
- 【ワークシートをコピーする】
- 【ワークシートを移動する】
- 【ワークシートを削除する】
- 【ワークシートに名前をつける】
- 【ワークシートを追加する】
- 【ワークシートを非表示にする】
- 【ワークシートの見出しに色をつける】
- 【ワークシートを保護する】
【ワークシートを選択する】
複数のワークシートから指定されたワークシートを選ぶときは、
Worksheetsプロパティを使う。
Worksheetではないので注意(sを忘れない)
Worksheets(値)
Worksheets("2018年").Select '2018年のシートを選択する'
複数のワークシートを選択するときは、Array関数を使う。
Array(要素A, 要素B, 要素C...)
Worksheets(Array("3月","5月")).Select '3月と5月のシートを選択する'
【ワークシートをコピーする】
指定されたワークシートをコピーするときは、Copyメソッドを使う。
Worksheetsプロパティとの間は半角スペースで開ける。
Worksheetsプロパティ.Copy before / after
※指定できる値
Before | :指定したワークシートの左側 |
After | :指定したワークシートの右側 |
Worksheets("2018年").Copy After:="2017年" '2017年の後ろに2018年のシートをコピーする'
【ワークシートを移動する】
指定されたワークシートを移動するときは、Moveメソッドを使う。
引数には何も指定しない場合は、新規ワークシートに移動する。
Worksheetsプロパティ.Move 移動する位置
※指定できる値
Before | :指定したワークシートの左側 |
After | :指定したワークシートの右側 |
Worksheets("表紙").Move Before:="集計用No1" '集計用No1の前に表紙を移動させる
【ワークシートを削除する】
ワークシートを削除するときは、Deleteメソッドを使う。
Worksheetsプロパティ.Delete
誤操作を防ぐために、削除前には警告メッセージを表示するのがベター。
警告メッセージを表示するには、Display.Alertプロパティを使う。
Application.DisplayAlerts = True / False
※指定できる値
True | :メッセージを表示する。Excelを再起動するまで設定が残るのを防ぐため、処理の最後には必ずTrueにする。 |
False | :メッセージを表示しない。 |
Application.DisplayAlerts = True
Worksheets("前年度").Delete '前年度シートを削除する'
【ワークシートに名前をつける】
ワークシートに名前をつけるにはNameプロパティを使う。
Worksheetsプロパティ.Name = 値
Worksheets("initial").Name = Worksheets(i).Range("A1").Value. 'セルA1の値をシート名に設定する'
【ワークシートを追加する】
ワークシートを追加するにはAddメソッドを使う。
Worksheetsプロパティ.Add Before / After
Worksheets.Add After:= Worksheets("7月"). '7月の後に新しいシートを追加する'
ActiveSheet.Name = 8月 . '新しいシート名を「8月」にリネームする'
【ワークシートを非表示にする】
ワークシートを非表示にするにはVisibleプロパティを使う。
Worksheetsプロパティ.Visible = 値
※指定できる値
xlSheetVisible | :表示する |
xlSheetHidden | :非表示にする |
True | :表示する |
False | :非表示にする |
Worksheets("4月").Visible = xlSheetHidden. '4月のシートを非表示にする'
【ワークシートの見出しに色をつける】
ワークシートの見出しに色をつけるには、TabオブジェクトとColorプロパティを使う。
Worksheetsプロパティ.Tab.Color
※指定できる値
RGB(赤, 青, 緑) | :色の割合を設定する |
xlColorIndexNone | :シート見出しの色を指定しない(標準) |
Worksheets("4月").Tab.Color = RGB(255, 0, 0). '「4月」のワークシートに赤色を設定する'
【ワークシートを保護する】
ワークシートのセルをロックするにはLockedプロパティを使う。
Rangeプロパティ.Locked = True / False
※指定できる値
True | :ロックする(標準) |
False | :ロックを解除する |
Range("B5").Locked = False. 'セルB5のロックを解除する'
ワークシートを保護するにはProtectメソッドを使う。
通常は、セルのロックを解除してからワークシートを保護する。
保護を解除するにはUnprotectプロパティを使う。
Worksheetsプロパティ.Protected
Worksheetsプロパティ.Unprotected
Worksheets("Sheet1").Protect. 'Sheet1を保護する'