では「文字サイズも省略可能にする」バージョンを作ってみましょう。
完成コード例
Sub PutTextWithStyle2(ByVal sheetName As String, ByVal addr As String, ByVal text As String, _
Optional ByVal bold As Boolean = False, _
Optional ByVal color As Long = vbBlack, _
Optional ByVal bgColor As Long = vbWhite, _
Optional ByVal fontSize As Long = 11)
' sheetName: シート名
' addr: セルの場所 (例 "A1")
' text: 書き込む文字列
' bold: 太字にするかどうか(省略可能、既定値はFalse)
' color: 文字色(省略可能、既定値は黒)
' bgColor: 背景色(省略可能、既定値は白)
' fontSize: 文字サイズ(省略可能、既定値は11)
With Worksheets(sheetName).Range(addr)
.Value = text
.Font.Bold = bold
.Font.Color = color
.Interior.Color = bgColor
.Font.Size = fontSize
End With
End Sub
VB呼び出し方の例
Sub TestPutTextWithStyle2()
' 省略 → 太字なし・黒文字・白背景・サイズ11
Call PutTextWithStyle2("Sheet1", "A1", "通常")
' 太字だけ指定
Call PutTextWithStyle2("Sheet1", "A2", "見出し", True)
' 色だけ指定(赤文字)
Call PutTextWithStyle2("Sheet1", "A3", "警告", , vbRed)
' 背景色だけ指定(黄色背景)
Call PutTextWithStyle2("Sheet1", "A4", "注意", , , vbYellow)
' 文字サイズだけ指定(サイズ20)
Call PutTextWithStyle2("Sheet1", "A5", "大きな文字", , , , , 20)
' 太字+色+背景色+文字サイズを全部指定
Call PutTextWithStyle2("Sheet1", "A6", "重要", True, vbBlue, vbYellow, 16)
End Sub
VBポイント解説
- Optional引数は最後にまとめるのが基本。
- 途中の引数を飛ばすときは カンマで位置を確保する。
- 例:
Call PutTextWithStyle2("Sheet1", "A5", "大きな文字", , , , , 20)
→ bold, color, bgColorを省略して、fontSizeだけ指定。
- 例:
これで「太字」「文字色」「背景色」「文字サイズ」をすべて省略可能にできました。
👉 次のステップとしては「フォント名」や「斜体」なども省略可能にして、さらに柔軟なスタイル設定関数に発展させることもできます。

