では「太字と色を両方省略可能にする」バージョンを作ってみましょう。
完成コード例
Sub PutTextWithOptions(ByVal sheetName As String, ByVal addr As String, ByVal text As String, _
Optional ByVal bold As Boolean = False, Optional ByVal color As Long = vbBlack)
' sheetName: シート名
' addr: セルの場所 (例 "A1")
' text: 書き込む文字列
' bold: 太字にするかどうか(省略可能、既定値はFalse)
' color: 文字色(省略可能、既定値は黒)
With Worksheets(sheetName).Range(addr)
.Value = text
.Font.Bold = bold
.Font.Color = color
End With
End Sub
VB呼び出し方の例
Sub TestPutTextWithOptions()
' 省略 → 太字なし・黒文字
Call PutTextWithOptions("Sheet1", "A1", "通常の文字")
' 太字だけ指定
Call PutTextWithOptions("Sheet1", "A2", "見出し", True)
' 色だけ指定(赤文字)
Call PutTextWithOptions("Sheet1", "A3", "警告", , vbRed)
' 太字+色を両方指定(太字の青文字)
Call PutTextWithOptions("Sheet1", "A4", "重要", True, vbBlue)
End Sub
VBポイント解説
- Optionalは最後にまとめて書くのが基本。
- 呼び出し時に「途中の引数を飛ばす」場合は カンマで位置を確保する必要がある。
- 例:
Call PutTextWithOptions("Sheet1", "A3", "警告", , vbRed)
→ boldを省略してcolorだけ指定。
- 例:
練習問題
- 背景色(Interior.Color)も省略可能にしてみましょう。
- 既定値は白(
vbWhite)。 - 呼び出し側で指定すれば背景色を変えられるようにする。
- 既定値は白(

