Excel
VBA

Excelで複数シートに同一処理を行う

ExcelがPython対応するんじゃないかと騒いでる中
VBAのメモを書いてしまうお前空気嫁、な感じですが書きます。

背景

仕様書なんか作っていると基本各シートのフォーマットは一緒になりますが、たまに一部フォントが変わっていたりセルサイズ変えてしまっていたりとかありますよね?

通常気にしないと思いますが、めんどい規律あるクライアントはセル幅すべて合わせろ、などとおっしゃいます。

だけど普通にマウスポチポチはだるいので案の定VBAの出番です。

方法

VBA
Sub applyAll()
Dim i As Long
For i = 1 To Sheets.Count
    Sheets(i).Select
    Call apply
Next i
End Sub


Sub apply()
  ' 各シートに共通して適用したい処理
  ' e.g. Columns("A").ColumnWidth = 40
End Sub

applyAll()で1からシート数をforして、
Sheets(i).Selectでシートを選択し、
Call applyで実行します。