Excel VBA | 引数を省略可能にする Optional の使い方

VBA
スポンサーリンク

では「太字と色を両方省略可能にする」バージョンを作ってみましょう。


完成コード例

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だけ指定。

練習問題

  1. 背景色(Interior.Color)も省略可能にしてみましょう。
    • 既定値は白(vbWhite)。
    • 呼び出し側で指定すれば背景色を変えられるようにする。
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました