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