【VBA】文字列の処理

VBA(マクロ)で、文字列を処理する方法についてまとめました。

【文字列の置換】Replace関数

VBAでは、Replace関数で文字列を置換できます。

Replace(expression, find, replace[, start[, count[, compare]]])
パラメータ 説明
expression 文字列式(置換する文字列を含んだモノ)
find 検索対象の文字列
replace 置換する文字列
start expression内の内部文字列の検索開始位置(デフォルトは1)
count 置換する文字列数(デフォルトは-1:全て置換)
compare 文字列比較のタイプ(文字列式の評価に利用)

※[]内のパラメータは省略可能です。省略するとデフォルトで実行されます。

サンプルコード

サンプルプログラムのソースコードです。

Sub test()

    Dim str As String
    Dim str2 As String

    str = "CASTER"

    str2 = Replace(str, "C", "M")

    MsgBox str2  ' MASTER

End Sub

文字列「CASTER」のうち、CをMに置換しています。

関連記事
1 【VBA】文字列の置換【Excelマクロ】

【文字列の位置検索】InStr関数

Excel/VBAでは、InStr関数で文字列の位置を検索できます。

InStr([start, ]string1, string2[, compare])
パラメータ 説明
start 検索開始位置(デフォルトは先頭)
string1 検索対象(文字列式)
string2 string1中から検索したい文字列式
compare 文字列比較の種類

※[]内のパラメータは省略可能です。省略するとデフォルトで実行されます。

サンプルコード

サンプルプログラムのソースコードです。

Sub test()

    Dim str As String
    Dim str2 As String

    str = "CASTER"

    str2 = InStr("CASTER","S")

    MsgBox str2  ' 3

End Sub

文字列「CASTER」のうち、Sの位置を取得します。
3番目なのでメッセージボックスには3と表示されます。

関連記事
1 【VBA】文字列の検索【Excelマクロ】

【文字列の変換】StrConv関数

Excel/VBAでは、StrConv関数で文字列を変換できます。

StrConv(string, conversion [, LCID])
パラメータ 説明
string 変換する文字列式
conversion 変換の種類を指定(詳細は下記表参照)
LCID 国別情報識別子

※[]内のパラメータは省略可能です。
省略するとデフォルトで実行されます。

conversionの定数 説明
vbUpperCase 大文字に変換
vbLowerCase 小文字に変換
vbProperCase 文字列の各単語の先頭の文字を大文字に変換
vbWide 半角文字を全角文字に変換
vbNarrow 全角文字を半角文字に変換
vbKatakana ひらがなをカタカナに変換
vbHiragana カタカナをひらがなに変換
vbUnicode 文字コードをシステムの既定値からUnicodeに変換
vbFromUnicode 文字コードをUnicodeからシステムの既定値に変換

サンプルコード

サンプルプログラムのソースコードです。

Sub test()

    MsgBox StrConv("abcde",vbUpperCase) ' ABCDE

    MsgBox StrConv("ABCDE",vbLowerCase) ' abcde

End Sub

関連ページ

【VBA入門】基礎から作業自動化の応用例まで解説
VBA(マクロ)で様々な処理を自動化する方法をサンプルコード付きで入門者向けにまとめました。

コメント