VBAを使用すると、文字列操作を含むさまざまなタスクを自動化できます。
前回の記事
今回も、VBAで文字列を操作する際に使用する基本の関数についてご紹介いたします! 前回ご紹介した関数より、少し複雑な処理が可能な関数かと思いますので、ぜひ読んでみてください!
Join関数
- 配列に含まれている数多くのサブ文字列を結合して作成した文字列を返します。
構文:Join(Sourcearray[,Delimiter])
Dim array(3) As String
array(0) = “Sky”
array(1) = "株式会社 "
array(2) = “です!”
result = Join (array, "")
実行結果: Sky株式会社です!
パーツ | 説明 |
---|---|
Sourcearray | 必須。結合する文字列を含む1次元配列。 |
Delimiter | 省略可能。返される文字列内の文字列の区切り文字。省略した場合は、空白文字(" ")が使用されます。delimiterが長さ0の文字列("")の場合は、リスト内のすべてのアイテムが区切り文字なしで結合されます。 |
Split関数
- 指定された数のサブ文字列が含まれる 0 ベースの 1 次元配列を返します。
構文:Split(Expression, [ Delimiter, [ Limit, [ Compare ]]])
Dim result () As String
result = Split(“SKYDIV, SKYMENU, SKYPCE”, ",")
For i = 0 To UBound(result)
Msgbox result (i)
Next i
実行結果: SKYDIV
SKYMENU
SKYPCE
パーツ | 説明 |
---|---|
Expression | 必須。文字列と区切り記号が含まれる文字列式。Expression が長さ 0 の文字列 ("") の場合、Splitは、空の配列、つまり、要素とデータのない配列を返す。 |
Delimiter | 省略可能。文字列の制限を識別するために使用する文字列。省略すると、空白文字 (" ") が delimiter とみなされる。区切り記号が長さ 0 の文字列の場合は、式文字列全体を含む単一要素配列が返される。 |
Limit | 省略可能。返される部分文字列の数。-1の場合は、すべての部分文字列が返される。 |
Compare | 省略可能。文字列を評価するときに使用する比較の種類を示す数値。 |
InStr関数
- ある文字列が別の文字列の中で最初に現れる位置を指定するVariant(Long)を返します。
構文:InStr([Start], String1, String2, [Compare])
result = InStr("Sky株式会社", "株")
実行結果: 4
パーツ | 説明 |
---|---|
Start | 省略可能。検索の開始位置を表す数式を指定。省略すると、先頭の文字から検索される。 |
String1 | 必須。検索対象となる文字列式を指定。 |
String2 | 必須。引数String1内で検索する文字列式を指定。 |
Compare | 省略可能。文字列比較の種類を指定。設定値は こちら を参照。 |
StrComp関数
- 文字列比較の結果を示す、サブタイプが整数型 (Integer) であるバリアント型 (Variant) の値を返します。
構文:StrComp(String1, String2, [Compare]
戻り値 | 説明 |
---|---|
0 | 文字列が等しい場合。 |
1 | 最初の文字列が2番目の文字列よりも大きい場合。 |
-1 | 最初の文字列が2番目の文字列よりも小さい場合。 |
result = StrComp("abc", "ABC")
実行結果:1
result = StrComp("abc", "ace")
実行結果:-1
result = StrComp("abc", "abc")
実行結果:0
指定項目 | 説明 |
---|---|
String1 | 必須。検索対象となる文字列を指定。 |
String2 | 必須。検索する文字列を指定。 |
Compare | 省略可能。文字列比較の種類を指定。設定値はこちらを参照。 |
いかがでしたでしょうか??
今回は前回よりも配列や、ループを使った処理で活用できる文字操作関数をご紹介いたしました。
これらの関数をマスターすることでより難易度の高い、文字列の操作を行えるようになると思います!