目次へ戻ります
VB サンプル


VB 文字列操作


●Asc 文字を文字コードへ変換
●Chr 文字コードを文字へ変換
●CStr 値を文字列型(String)へ変換
●Format 指定した書式に変換
●InStr 文字列の前方検索
●InstrRev 文字列の後方検索
●Len、LenB 文字列の文字数、バイト数を取得
●Like 文字列のパターンマッチング
●Mid、Left、Right 文字列の切り取り
●Replace 文字列の置換
●Split 文字列のセパレータ分解
●StrConv 文字列の変換
●Trim、LTrim、RTrim 文字列の先頭、末尾のスペースを削除
●UCase、LCase アルファベットの大文字、小文字変換
●Asc 関数

【機能】文字に対応する文字コードを示す整数型 (Integer) の値を返します。

【書式】result = Asc ( 文字 )

【 例 】
result = Asc("A")  → 65
result = Hex(Asc("A"))  → 41
●Chr 関数

【機能】文字コードに対応する文字を示す文字列型 (String) の値を返します。

【書式】result = Chr ( 文字コード )

【 例 】
result = Chr(34)  → "
result = Chr(9)  → タブ
result = Chr(13) & Chr(10)  → 改行
result = Chr(&HD) & Chr(&HA)  → 改行
●CStr 関数

【機能】値を文字列型(String)へ変換します。

【書式】result = CStr ( 値 )

【 例 】
result = CStr(100)  → 100
result = CStr(Now)  → 2006/12/01 10:09:38
●Format 関数

【機能】値を指定した書式に変換し、その文字列を返します。

【書式】result = Format ( 値 , 書式 )

書式 意味
@ 1つの文字またはスペースを表します。値の中で、@ (アットマーク)に対応する位置に文字が存在する場合は、その文字が表示されます。文字がなければスペースが表示されます。@は、指定した書式の中に表示書式指定文字の ! (感嘆符) がない限り、右から左の順に埋められます。
& 1つの文字を表します。値の中で & (アンパサンド) に対応する位置に文字が存在する場合は、その文字が表示されます。文字がなければ何も表示せず、詰められて表示されます。& は、指定した書式の中に表示書式指定文字の ! (感嘆符) がない限り、右から左の順に埋められます。
< 小文字にします。すべての文字は小文字に変換されます。
> 大文字にします。すべての文字は大文字に変換されます。
! 文字を右から左ではなく、左から右の順に埋めていくように指定します。この文字を指定しない場合は、右から左の順に埋められます。

【 例 】
result = Format( "ABC", "@@@@@" )  → □□ABC ※□は半角スペース
result = Format( "ABC", "!@@@@@" )  → ABC□□ ※□は半角スペース
●InStr 関数

【機能】文字列を前方より検索し、最初に見つかった文字位置を返します。

【書式1】result = InStr ( 検索対象文字列 , 検索文字列 )
【書式2】result = InStr ( 検索開始位置 , 検索対象文字列 , 検索文字列 )

【 例 】
result = InStr( "あいうえうえお", "うえ" )  → 3
result = InStr( 4, "あいうえうえお", "うえ" )  → 5

※ 検索文字列が見つからなかった場合は、0 が戻ります。
●InstrRev 関数

【機能】文字列を後方より検索し、最初に見つかった文字位置を返します。

【書式1】result = InstrRev ( 検索対象文字列 , 検索文字列 )
【書式2】result = InstrRev ( 検索対象文字列 , 検索文字列 , 検索開始位置 )

【 例 】
result = InstrRev( "c:\work\temp\test.txt", "\" )  → 13
result = InstrRev( "c:\work\temp\test.txt", "\" , 12 )  → 8

※ 検索文字列が見つからなかった場合は、0 が戻ります。
●Len、LenB 関数

【機能】文字列の文字数を返します。
【書式】result = Len ( 文字列 )

【機能】文字列のバイト数を返します。
【書式】result = LenB ( 文字列 )

【 例 】
result = Len("ABCあいう")  → 6
result = LenB("ABCあいう")  → 12
result = LenB(StrConv("ABCあいう", vbFromUnicode))  → 9
●Like 演算子

【機能】文字列の比較を行い、比較結果(True / False)を返します。

【書式】result = 比較文字列 Like パターン

? 任意の1文字
* 任意の数の文字
# 任意の1文字の数字 (0-9)
[charlist] 文字リスト charlist に指定した文字の中の任意の1文字
[!charlist] 文字リスト charlist に指定した文字以外の任意の1文字

【 例 】
result = "aBBBa" Like "a*a"  → True
result = "F" Like "[A-Z]"  → True
result = "F" Like "[!A-Z]"  → False
result = "a2a" Like "a#a"  → True
result = "aM5b" Like "a[L-P]#[!c-e]"  → True
result = "BAT123khg" Like "B?T*"  → True
result = "CAT123khg" Like "B?T*"  → False
●Mid、Left、Right 関数

【機能】文字列の指定位置より指定文字数分の文字を切り取り、その文字列を返します。
【書式】result = Mid ( 対象文字列 , 切取開始位置 , 切取文字数 )

【機能】文字列の左端より指定文字数分の文字を切り取り、その文字列を返します。
【書式】result = Left ( 対象文字列 , 切取文字数 )

【機能】文字列の右端より指定文字数分の文字を切り取り、その文字列を返します。
【書式】result = Right ( 対象文字列 , 切取文字数 )

【 例 】
result = Mid( "あいうえお", 2, 3 )  → いうえ
result = Left( "あいうえお", 3 )  → あいう
result = Right( "あいうえお", 3 )  → うえお
●Replace 関数

【機能】指定した文字列の一部を別の文字列に置換し、その文字列を返します。

【書式】result = Replace ( 置換対象文字列 , 検索文字列 , 置換文字列 )
【書式】result = Replace ( 置換対象文字列 , 検索文字列 , 置換文字列 , 検索開始位置 , 置換文字列数 )

検索開始位置 省略すると、1 が使用されます。
置換文字列数 省略すると、-1 が使用され、すべての候補が置換されます。

【 例 】
result = Replace( "あいうえうえお", "うえ", "くけ" )  → あいくけくけお
●Split 関数

【機能】文字列を指定のセパレータで分解して配列へ格納する

【書式】result = Split ( 文字列 , デリミッタ )
【書式】result = Split ( 文字列 )

【 例 】
Dim strArry() As String
strArry = Split("AAA,BBB,CCC", ",")
strArry(0) → "AAA"
strArry(1) → "BBB"
strArry(2) → "CCC"

※ デリミッタ指定を省略した場合は、デリミッタはスペースになります。
※ デリミッタがタブの場合は、vbTab を指定します。
●StrConv 関数

【機能】変換した文字列を返します。

【書式】result = StrConv ( 変換対象文字列 , 変換タイプ )

vbUpperCase 1 文字列を大文字に変換します。
vbLowerCase 2 文字列を小文字に変換します。
vbProperCase 3 文字列の各単語の先頭の文字を大文字に変換します。
vbWide 4 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。
vbNarrow 8 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。
vbKatakana 16 文字列内のひらがなをカタカナに変換します。
vbHiragana 32 文字列内のカタカナをひらがなに変換します。
vbUnicode 64 システムの既定のコード ページを使って文字列をUnicode に変換します。
vbFromUnicode 128 文字列を Unicode からシステムの既定のコード ページに変換します。

【 例 】
result = StrConv( "abcあいうえお", vbUpperCase + vbKatakana ) → ABCアイウエオ

文字列変換で一旦システムの規定のコードページに変換をしておいてから絶対価で切り取る例
ai = StrConv(Sheets("sheet2").Cells(row1, 2), vbFromUnicode)
Ret=StrConv(MidB(ai, 1, 8), vbUnicode)

 

 

●Trim、LTrim、RTrim 関数

【機能】先頭と末尾のスペースを削除した文字列を返します。
【書式】result = Trim ( 文字列 )

【機能】先頭のスペースを削除した文字列を返します。
【書式】result = LTrim ( 文字列 )

【機能】末尾のスペースを削除した文字列を返します。
【書式】result = RTrim ( 文字列 )

【 例 】
result = Trim( "□□あいうえお□□" )  → あいうえお  ※□はスペース
result = LTrim( "□□あいうえお□□" )  → あいうえお□□  ※□はスペース
result = RTrim( "□□あいうえお□□" )  → □□あいうえお  ※□はスペース

※ 半角、全角かかわらず、スペースを削除します。
●UCase、LCase 関数

【機能】小文字のアルファベットを大文字へ変換した文字列を返します。
【書式】result = UCase ( 文字列 )

【機能】大文字のアルファベットを小文字へ変換した文字列を返します。
【書式】result = LCase ( 文字列 )

【 例 】
result = UCase( "ABCdefABCdef123" )  → ABCDEFABCDEF123
result = LCase( "ABCdefABCdef123" )  → abcdefabcdef123

※ 半角、全角かかわらず、アルファベットを大文字/小文字へ変換します。

目次へ戻ります