Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
文字列操作の関数:Excel VBA関数
Home »
Excel講座の総目次 »
Excel VBA入門:目次 »
Excel VBA関数:目次 »
文字列操作の関数
Left$,Mid$,Right$などの$がつく関数は「文字列型」のデータを返します。
付かない方は「バリアント型(内部処理形式 String の Variant)」となります。このページでは紹介を省略しています。
LenB,LeftB,MidB,RightBなどのBがつく関数は「バイト数」で計算します。このページでは紹介を省略しています。
文字列の文字数、または変数の保存に必要なバイト数を返します
構文:Len(string | varname)
使用例A:文字数を返す例です。
Sub test1()
Range("A1").Value = Len("ABC")
Range("A2").Value = Len("あいう")
End Sub
A1セルには「3」が返ります。
A2セルには「3」が返ります。
使用例B:変数の保存に必要なバイト数を返す例です。
Sub test2()
Dim myval0
Dim myVal1 As Double
Dim myVal2 As Single
Dim myVal3 As String
myval0 = 1
myVal1 = myval0
myVal2 = myval0
myVal3 = myval0
Range("A1").Value = Len(myVal1)
Range("A2").Value = Len(myVal2)
Range("A3").Value = Len(myVal3)
End Sub
A1セルには「8」が返ります。
A2セルには「4」が返ります。
A1セルには「1」が返ります。
文字列の左端から指定した文字数分の文字列を返します。
構文:Left(string, length)
使用例
Sub test3()
Dim myStr As String
myStr = "ABCDEFG"
Range("B1").Value = Left(myStr, 3)
End Sub
B1セルには「ABC」が返ります。
文字列から指定した文字数分の文字列を返します。
構文:Mid(string, start[, length])
string:必ず指定します。文字列を取り出す、元の文字列式を指定します。
start:必ず指定します。長整数型 (Long) の値を指定します。
stringの先頭の位置を1として、どの位置から文字列を取り出すかを先頭からの文字数で指定します。
start が string の文字数を超える場合、Mid 関数は長さ 0 の文字列 ("") を返します。
length 省略可能です。取り出す文字数を指定します。
省略した場合、または文字列内に length より短い文字数しかない場合には、start から後のすべての文字が返されます。
使用例
Sub test4()
Dim myStr As String
myStr = "ABCDEFG"
Range("B2").Value = Mid(myStr, 2, 3)
End Sub
B2セルには「BCD」が返ります。
文字列の右端から指定した文字数分の文字列を返します。
構文:Right(string, length)
string:必ず指定します。この文字列式の右端から文字列を取り出します。
length:必ず指定します。取り出す文字列の文字数を表す数式を指定します。
0を指定した場合は、長さ0の文字列 ("") を返します。stringの文字数以上の場合は、文字列全体が返されます
使用例
Sub test5()
Dim myStr As String
myStr = "ABCDEFG"
Range("B3").Value = Right(myStr, 3)
End Sub
B3セルには「EFG」が返ります。
アルファベットの大文字を小文字に変換します。
構文:LCase(string)
使用例
Sub test6()
Dim myStr As String
myStr = "ABC"
Range("C1").Value = LCase(myStr)
End Sub
C1セルには「abc」が返ります。
アルファベットの小文字を大文字に変換します。
構文:UCase(string)
使用例
Sub test7()
Dim myStr As String
myStr = "abc"
Range("C2").Value = UCase(myStr)
End Sub
C2セルには「ABC」が返ります。
文字列から先頭のスペースを削除 した文字列を返します。
構文:LTrim(string)
使用例
Sub test8()
Dim myStr As String
myStr = " 文 字 列 "
Range("D1").Value = LTrim(myStr)
End Sub
D1セルには「文 字 列 」が返ります。
文字列から先頭と末尾のスペースを削除 した文字列を返します。
構文:LTrim(string)
使用例
Sub test9()
Dim myStr As String
myStr = " 文 字 列 "
Range("D2").Value = Trim(myStr)
End Sub
D2セルには「文 字 列」が返ります。
文字列から末尾のスペースを削除 した文字列を返します。
構文:RTrim(string)
使用例
Sub test10()
Dim myStr As String
myStr = " 文 字 列 "
Range("D3").Value = RTrim(myStr)
End Sub
D3セルには「 文 字 列」が返ります。
指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します。
構文:Replace(expression, find, replace[, start[, count[, compare]]])
expression:必ず指定します。置換する文字列を含む文字列式 を指定します。
find:必ず指定します。検索する文字列を指定します。
replace:必ず指定します。置換する文字列を指定します。
start:省略可能です。引数 expression 内の内部文字列の検索開始位置を指定します。
省略すると、1が使用されます。
count:省略可能です。置換する文字列数を指定します。
省略すると、既定値の -1が使用され、すべての候補が置換されます。
compare:省略可能です。文字列式を評価するときに文字列比較のモードを指定します。
定数
値
説明
vbUseCompareOption
-1
Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare
0
バイナリ モードで比較を行います。
vbTextCompare
1
テキスト モードで比較を行います。
vbDatabaseCompare
2
Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行います。
使用例
Sub test11()
Dim myStr As String
myStr = " 文 字 列 "
Range("E1").Value = Replace(myStr, " ", "")
End Sub
E1セルには「文字列」が返ります。
文字列を検索し、最初に見つかった文字位置を返します。
構文:InStr([start, ]string1, string2[, compare])
start:省略可能です。検索の開始位置を表す数式を指定します。
省略すると、先頭の文字から検索されます。
引数 start に Null 値が含まれている場合、エラーが発生します。引数 compare を指定した場合は、start も指定する必要があります。
string1:必ず指定します。検索対象となる文字列式を指定します。
string2:必ず指定します。引数 string1 内で検索する文字列式を指定します。
compare:省略可能です。文字列比較の比較モードを指定します。
compareがNull値の場合は、エラーが発生します。
compareを指定した場合は、引数startも指定する必要があります。
省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。ローカル固有の比較ルールを使用するには、有効なLCID
(LocaleID) を指定します。
定数
値
説明
vbUseCompareOption
-1
Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare
0
バイナリ モードで比較を行います。
vbTextCompare
1
テキスト モードで比較を行います。
vbDatabaseCompare
2
Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行います。
使用例
Sub test12()
Dim myStr As String
myStr = "いろはにほへと"
Range("F1").Value = InStr(myStr, "は")
End Sub
F1セルには「3」が返ります。
最後の文字位置から検索を開始し、最初に見つかった先頭からの文字位置を返します 。
構文:InstrRev(stringcheck, stringmatch[, start[, compare]])
stringcheck:必ず指定します。検索先の文字列式を指定します。
stringmatch:必ず指定します。検索する文字列式を指定します。
start:省略可能です。各検索の開始位置を設定する数式を指定します。
引数 start を省略すると -1 が使用され、最後の文字位置から検索を開始します。
引数 start に Null 値が含まれると、エラーになります。
compare:省略可能です。文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
compare を省略すると、バイナリ モードで比較が行われます。
定数
値
説明
vbUseCompareOption
-1
Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare
0
バイナリ モードで比較を行います。
vbTextCompare
1
テキスト モードで比較を行います。
vbDatabaseCompare
2
Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行います。
使用例
Sub test13()
Dim myStr As String
myStr = "いろはいろは"
Range("G1").Value = InStrRev(myStr, "は")
End Sub
G1セルには「6」は返ります。
スポンサードリンク
よねさんのWordとExcelの小部屋 |Excel(エクセル) VBA関数:目次 |文字列操作の関数
PageViewCounter
Since2006/2/27