今回はExcel VBAで頻用するWith構文の使い方を解説します。With構文というのは以下のようなコードのことです。
With Cells(1, 1)
.Font.Bold = True
.Font.Size = 14
.Font.color = vbWhite
.Interior.ColorIndex = 1
.Columns.AutoFit
End With
以下で詳しく解説します。
Withの使い方
まずWith構文の使い方を説明します。使い方は簡単で、以下のように“With”の後ろに処理を適用する範囲を指定し、”With”と”End With”に囲まれた部分に処理内容を記述します。
With 範囲
処理内容
End With
範囲
1つのセルでも、複数範囲でも、シート全体でも、好きなように範囲を設定できます。以下に例示します。
- A1セル:With Cells(1,1) 又は With Range(“A1”)
- 1行目:With Rows(1)
- A1:G1:With Range(Cells(1,1), Cells(1,7)) 又は With Range(“A1:G1”)
- シート全体:With Cells
なお、CellsとRangeの違いについては以下を参照ください。
処理内容
いくつでも好きな処理を設定できます。その際、適用範囲はWithの後ろで指定しているので記述する必要はありません。
With構文の意味
次にWith構文の意味を説明します。With構文というのは、同じコードを何度も繰り返し書かなくて済むようにするための構文です。
上述のコードは以下のような内容になっています。
1. フォントを太字に
2. フォントサイズを14に
3. フォントの色を白に
4. 塗りつぶしを黒に
5. 列の幅をいい感じに
処理を可視化すると以下のようになります。
この5つの処理を1つずつ書くと、コードは以下のようになり、重複が多くなります。
Cells(1, 1).Font.Bold = True
Cells(1, 1).Font.Size = 14
Cells(1, 1).Font.color = vbWhite
Cells(1, 1).Interior.ColorIndex = 1
Cells(1, 1).Columns.AutoFit
このコードを、With構文を使うことでよりスッキリと記述することができます。
With Cells(1, 1)
.Font.Bold = True
.Font.Size = 14
.Font.color = vbWhite
.Interior.ColorIndex = 1
.Columns.AutoFit
End With
これがWith構文を使う意味です。
コメント