ねこになりたい

おふとんと朝の別れをするのが辛い人向けです。正論で殴らず見守ってあげてください。

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を保護する'