文字列操作の関数(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