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(マクロ)で様々な処理を自動化する方法をサンプルコード付きで入門者向けにまとめました。
コメント