文字列操作の関数(2):Excel VBA関数 |
スポンサードリンク | |
StrComp | StrConv | StrReverse | ||
Asc | AscW | Chr | ChrW | |
Space | String | Split | Join | Filter |
定数 | 値 | 説明 |
vbUseCompareOption | -1 | Option Compare ステートメントの設定を使用して比較を行います。 |
vbBinaryCompare | 0 | バイナリ モードの比較を行います。 |
vbTextCompare | 1 | テキスト モードの比較を行います。 |
vbDatabaseCompare | 2 | Microsoft Access の場合のみ有効。 データベースに格納されている設定に基づいて比較を行います。 |
内容 | 戻り値 |
string1 は string2 未満 | -1 |
string1 と string2 は等しい | 0 |
string1 は string2 を超える | 1 |
String1 または string2 は Null 値 | Null 値 |
Sub test1() Dim myStr1 As String, myStr2 As String myStr1 = "EXCEL" myStr2 = "Excel" Range("A1").Value = StrComp(myStr1, myStr2, vbBinaryCompare) Range("A2").Value = StrComp(myStr1, myStr2, vbTextCompare) Range("A3").Value = StrComp(myStr1, myStr2) End Sub |
定数 | 値 | 内容 |
vbUpperCase | 1 | 文字列を大文字に変換します。 |
vbLowerCase | 2 | 文字列を小文字に変換します。 |
vbProperCase | 3 | 文字列の各単語の先頭の文字を大文字に変換します。 |
vbWide* | 4* | 半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。 |
vbNarrow* | 8* | 全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。 |
vbKatakana** | 16** | ひらがなをカタカナに変換します。 |
vbHiragana** | 32 | カタカナをひらがなに変換します。 |
vbUnicode | 64 | システムの既定のコード ページを使って文字列を Unicode に変換します。 Macintosh. では使用できないそうです |
vbFromUnicode | 128 | 文字列を Unicode からシステムの既定のコード ページに変換します。 Macintosh. では使用できないそうです |
Sub test2() Dim myStr1 As String myStr1 = "Excel" Range("B1").Value = StrConv(myStr1, 1) Range("B2").Value = StrConv(myStr1, 2) Range("B3").Value = StrConv(myStr1, 4) End Sub |
Sub test3() Range("A1").Value = StrReverse("ABCD") End Sub |
Sub test4() Dim myStr1 As String myStr1 = "ABC" Range("C1").Value = Asc(myStr1) End Sub |
Sub test5() Dim myStr1 As String myStr1 = "愛" Range("C2").Value = AscW(myStr1) End Sub |
Sub test6() Range("C3").Value = Chr(65) End Sub |
Sub test7() Range("C4").Value = ChrW(24859) End Sub |
Sub test8() Range("A1").Value = Date & Space(2) & Time End Sub |
Sub test9() Range("A1").Value = String(5, "A") Range("A2").Value = String(5, 66) End Sub |
定数 | 値 | 説明 |
VbUseCompareOption | -1 | Option Compare ステートメントの設定を使用して比較を行います。 |
vbBinaryCompare | 0 | バイナリ モードで比較を行います。 |
vbTextCompare | 1 | テキスト モードで比較を行います。 |
vbDatabaseCompare | 2 | Microsoft Access の場合のみ有効。 データベースに格納されている設定に基づいて比較を行います。 |
Sub test10() Dim myStr As String, myData Dim i As Integer myStr = "A,B,C,B,E" myData = Split(myStr, ",") For i = 0 To UBound(myData) Cells(i + 1, 1).Value = myData(i) Next i End Sub |
Sub test11() Dim myStr As String, myData(4) Dim i As Integer For i = 1 To 5 myData(i - 1) = Cells(i, 1).Value Next i Range("B1").Value = Join(myData, "_") End Sub |
定数 | 値 | 説明 |
VbUseCompareOption | -1 | Option Compare ステートメントの設定を使用して比較を行います。 |
vbBinaryCompare | 0 | バイナリ モードで比較を行います。 |
vbTextCompare | 1 | テキスト モードで比較を行います。 |
vbDatabaseCompare | 2 | Microsoft Access の場合のみ有効。 データベースに格納されている設定に基づいて比較を行います。 |
A | |
1 | 商品コード |
2 | B001 |
3 | B005 |
4 | A008 |
5 | A002 |
6 | C002 |
7 | D005 |
8 | A007 |
9 | B002 |
10 | C001 |
Sub test12() Dim myData Dim Flt_S() Dim Flt_E Dim i As Long myData = Range("A2", Range("A" & Rows.Count).End(xlUp)) ReDim Flt_S(1 To UBound(myData)) For i = LBound(myData) To UBound(myData) Flt_S(i) = myData(i, 1) Next i Flt_E = Filter(Flt_S, "A", True) For i = LBound(Flt_E) To UBound(Flt_E) Cells(i + 1, 3) = Flt_E(i) Next i End Sub |
A | B | C | |
1 | 商品コード | A008 | |
2 | B001 | A002 | |
3 | B005 | A007 | |
4 | A008 | ||
5 | A002 | ||
6 | C002 | ||
7 | D005 | ||
8 | A007 | ||
9 | B002 | ||
10 | C001 |
スポンサードリンク
PageViewCounter
Since2006/2/27