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

VBA
スポンサーリンク

では「色を省略可能にする」バージョンを一緒に作ってみましょう。


課題:セルに文字列を書き込むけど、文字色を省略可能にする

完成コード例

Sub PutTextWithColor(ByVal sheetName As String, ByVal addr As String, ByVal text As String, Optional ByVal color As Long = vbBlack)
    ' sheetName: シート名
    ' addr: セルの場所 (例 "A1")
    ' text: 書き込む文字列
    ' color: 文字色(省略可能、既定値は黒)

    With Worksheets(sheetName).Range(addr)
        .Value = text
        .Font.Color = color
    End With
End Sub
VB

呼び出し方の例

Sub TestPutTextWithColor()
    ' colorを省略 → 黒文字になる
    Call PutTextWithColor("Sheet1", "A1", "通常の文字")

    ' colorに赤を渡す
    Call PutTextWithColor("Sheet1", "A2", "警告", vbRed)

    ' colorに青を渡す
    Call PutTextWithColor("Sheet1", "A3", "情報", vbBlue)
End Sub
VB

ポイント解説

  • Optional ByVal color As Long = vbBlack
    → 省略可能で、既定値は黒。
  • 呼び出し側で省略すると黒文字になる。
  • vbRedvbBlue などの定数を渡すと色が変わる。

練習問題

  1. 太字と色を両方省略可能にする
    • 既定値は「太字なし」「黒文字」。
    • 呼び出し側で必要なときだけ指定できるようにしてみましょう。

ヒント:

Optional ByVal bold As Boolean = False, Optional ByVal color As Long = vbBlack
VB
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました