文字列操作

文字列の空白削除と文字列置換

 求められた計算結果を、ユーザーにわかりやすい形の加工して表示するための一つとして文字列の空白削除、つまり余分なスペースを取り除く仕組みがあります。

 また文字列中のある文字列をほかの文字列に置き換える便利な置き換え機能もあります。

 これらについてここでは解説いたします。

文字列の空白削除

 文字列の余分なスペース(空白)を削除するために三つの関数があります。

・Trim関数   文字列の先頭と末尾の両方の空白を削除します。

・LTrim関数   文字列の先頭空白を削除します。

・RTrim関数   文字列の末尾空白を削除します。

セルB2 に Balnce Sheet という文字列があります。

この文字列の左右には空白があります。

Sub 空白削除()

  Dim moji As String

  moji = Range(“B2”)

  Range(“D2”) = “当社の” _

  & moji & “です。”

  Range(“C3”) = Trim(moji)

  Range(“D3”) = “当社の” _

  & Trim(moji) & “です。”

  Range(“C4”) = LTrim(moji)

  Range(“D4”) = “当社の” _

  & LTrim(moji) & “です。”

  Range(“C5”) = RTrim(moji)

  Range(“D5”) = “当社の” & _

  RTrim(moji) & “です。”

End Sub

注意

 Trim関数では文字列内の空白を削除することはできません。

文字列を別の文字列に置換する

指定した文字列の中からある文字列を検索し、別の文字列に置き換えたい場合は「Replace関数」を使用します。

Replace(文字列, 検索文字列, 置換文字列)

文字列 moji が 〇〇〇●〇〇〇〇 として

●を▲に変えたい場合

Replace(moji, ●, ▲) とします。

Sub 置換処理()

  Range(“C4”) = Replace(Range(“B4″), ” “, “”)

  Range(“C5”) = Replace(Range(“B5”), “Excel”, “エクセル”)

  Range(“C6”) = Replace(Range(“B6”), “/”, Chr(10))

  Range(“C7”) = Replace(Range(“B7”), “8”, “10”)

  Range(“C8”) = Replace(Range(“B8”), “・”, “→”)

End Sub

複数範囲の検索文字列を別の文字列に置換する

 指定した範囲内のセルから指定した文字列を検索し、他の文字列に置換します。

複数のセルに対して一度にまとめて置換することができます。

Rangeオブジェクト.Replace What:=検索文字列, Replacement:=置換文字列

上図の「商品売価表」があります。

「㈱秋山製作所」が「㈱アキヤマ」に社名変更したので書き換えます。

Rangeオブジェクト は Range(“C3:C10”)

Replace What:=”㈱秋山製作所”

Replacement:=”㈱アキヤマ”

となります。

Sub 置換処理2()

 Range(“C3:C10”).Replace _

What:=”㈱秋山製作所”,  _

Replacement:=”㈱アキヤマ”

End Sub

 もう一点「在庫表」があります。

「ソニー〇〇」とソニーの名の付いた分類がいくつかあります。

この他に「ソニー」だけの分類もあります。

今回「ソニー」だけの分類を「Sony」に変更します。

Sub 置換処理4()

  Range(“C3:C13”).Replace _

what:=”ソニー”, _

Replacement:=”Sony”, _

LookAt:=xlWhole

End Sub

 この「LookAt:=xlWhole」は完全一致を意味します。

よって分類で「ソニー〇〇」は含まず「ソニー」だけが置換の対象となります。

「ソニー〇〇」の全てを含む場合は、部分一致を意味する「LookAt:=xlPart」の引数を使います。

この「LookAt」の引数を省略した場合は部分一致になります。

大文字・小文字および指定形式への変換  文字を扱っているとき、大文字を小文字に変えたり、反対に小文字を大文字に変えたりすることがよくあります。  また全角文字から半角...
指定文字列の位置を調べる  ある文字列の中で、指定した文字列が有るか無いか、あるとしたら何番目に有るのか、こうしたことが必要になる場合があります。 そのよ...