教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAのWorksheetFunctionオブジェクトで使用するSubstitute関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.Substitute(文字列, 古い文字列, 新しい文字列, [置換番号])

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Substitute関数を使うと、文章の中の特定の言葉を一括で置き換えることができます。文字列には、置き換えを行いたい元の文章を入力します。古い文字列には、元の文章の中で置き換えたい言葉や文字を指定します。新しい文字列には、古い文字列を置き換える新しい言葉や文字を指定します。置換番号(省略可能)には、文章の中で何番目の古い文字列を置き換えるか指定します。指定しない場合は、すべての古い文字列が新しい文字列に置き換えられます。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 言葉を置き換える()
    Dim 元の文章 As String
    Dim 新しい文章 As String
    元の文章 = "今日は晴れです。明日も晴れです。"
    新しい文章 = WorksheetFunction.Substitute(元の文章, "晴れ", "雨")
    MsgBox 新しい文章
End Sub

上記のプログラムは、Substitute関数を使って、元の文章の中の「晴れ」を「雨」に置き換えています。結果、新しい文章には「今日は雨です。明日も雨です。」という文章が入り、MsgBoxで表示されます。

まとめ

Substitute関数を使うと、文章の中の特定の言葉を一度に置き換えることができます。多くのデータを扱うときや、同じ置き換えを何度もする必要があるときにとても便利です。