ExcelマクロVBA入門 | 第47回.VBA関数(文字列操作,Replace,InStr,StrConv) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2015-04-27

第47回.VBA関数(文字列操作,Replace,InStr,StrConv)


以下、文字列操作に関するVBA関数の一覧です。


全てのVBA関数一覧は、VBA関数一覧

関数 説明 対応ワークシート関数
Asc 指定した文字列内にある先頭の文字の文字コードを返す変換関数です ワークシート関数のCODEと同じ
Chr 指定した文字コードに対応する文字を示す文字列型 (String) の値を返します ワークシート関数のCHARと同じ
LCase アルファベットの大文字を小文字に変換します ワークシート関数のLOWERと同じ
UCase アルファベットの小文字を大文字に変換します ワークシート関数のUPPERと同じ
Len 指定した文字列の文字数または指定した変数に必要なバイト数を表す値を返します ワークシート関数と同じ
Left 文字列の左端から指定した文字数分の文字列を返します ワークシート関数と同じ
Mid 文字列から指定した文字数分の文字列を返します ワークシート関数と同じ、文字数は省略可能
Right 文字列の右端から指定した文字数分の文字列を返します ワークシート関数と同じ
Replace 指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します ワークシート関数のSUBSTITUTEと同じ
InStr ある文字列の中から指定した文字列を検索し、最初に見つかった文字位置を返す ワークシート関数のFINDと同じ、大文字小文字は区別されます
InStrRev ある文字列の中から指定された文字列を最後の文字位置から検索を開始し、最初に見つかった文字位置を返す文字列処理関数です  
Space 指定した数のスペースからなる文字列を返す文字列処理関数です  
String 指定した文字コードの示す文字、または文字列の先頭文字を、指定した文字数だけ並べた文字列を返す文字列処理関数です ワークシート関数のREPTと同じ
Str 数式の値を文字列で表した値 (数字) で返す文字列処理関数です Format関数と同じ
StrConv 変換した文字列をバリアント型 (内部処理形式 String の Variant) で返します  
StrReverse 指定された文字列の文字の並びを逆にした文字列を返します  
Trim 指定した文字列から先頭と末尾の両方のスペースを削除した文字列を表す値を返します ワークシート関数とほぼ同じだが、中間スペースは削除されない
LTrim 指定した文字列から先頭のスペースを削除した文字列を表す値を返します  
RTrim 指定した文字列から末尾のスペース (RTrim)を削除した文字列を表す値を返します  
Val 指定した文字列に含まれる数値を適切なデータ型に変換して返します ワークシート関数のVALUEに近いが、先頭の数値部分のみ取り出す


対応するワークシート関数が解らない場合は、まずは、そちらを覚えて頂きたい。


ワークシート関数と同じと記していても、全く同一と言う訳ではありません。


引数や戻り値において、若干の違いがあるものもありますので注意願います。


マクロにおいて、良く使うものの中から、


少々説明が必要と思われるものを以下に説明します、上表では太字にしてあります。



・Replace関数


Replace(expression, find, replace[, start[, count[, compare]]])

expression 必ず指定します。置換する文字列を含む文字列式 を指定します。
find 必ず指定します。検索する文字列を指定します。
replace 必ず指定します。置換する文字列を指定します。
start 省略可能です。引数 expression 内の内部文字列の検索開始位置を指定します。この引数を省略すると、1 が使用されます。.
count 省略可能です。置換する文字列数を指定します。この引数を省略すると、既定値の -1 が使用され、すべての候補が置換されます。
compare 省略可能です。文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。設定する値については、次の「設定値」を参照してください。


使用例


Replace("123aAbBcC","A","Z") → "123aZbBcC"



・InStr関数


InStr([start, ]string1, string2[, compare])

start 省略可能です。検索の開始位置を表す数式を指定します。省略すると、先頭の文字から検索されます。引数 start に Null 値が含まれている場合、エラーが発生します。引数 compare を指定した場合は、start も指定する必要があります。
string1 必ず指定します。検索対象となる文字列式を指定します。
string2 必ず指定します。引数 string1 内で検索する文字列式を指定します。
compare 省略可能です。文字列比較の比較モードを指定する番号を設定します。引数 compare が Null 値の場合は、エラーが発生します。引数 compare を指定した場合は、引数 start も指定する必要があります。引数 compare を省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。ローカル固有の比較ルールを使用するには、有効なLCID (LocaleID) を指定します。


使用例


InStr("123aAbBcC","A") → 5




・StrConv関数


StrConv(string, conversion, LCID)

string 必ず指定します。変換する文字列式を指定します。
conversion

必ず指定します。整数型 (Integer) の値を指定します。実行する変換の種類の値の合計を指定します。

定数 内容
vbUpperCase 文字列を大文字に変換します。
vbLowerCase 文字列を小文字に変換します。
vbProperCase 文字列の各単語の先頭の文字を大文字に変換します。
vbWide 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。
vbNarrow 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。
vbKatakana 文字列内のひらがなをカタカナに変換します。
vbHiragana 文字列内のカタカナをひらがなに変換します。
vbUnicode システムの既定のコード ページを使って文字列を Unicode に変換します。Macintosh. では使用できません)
vbFromUnicode 文字列を Unicode からシステムの既定のコード ページに変換します。Macintosh. では使用できません)
LCID 省略可能です。システムとは異なる国別情報識別子 (LCID) を指定できます。既定値はシステムが使用する LCID です。


使用例


StrConv("123aAbBcC",vbUpperCase) → "123AABBCC"

StrConv("123aAbBcC",vbLowerCase) → "123aabbcc"

StrConv("123aAbBcC",vbWide) → "123aAbBcC"

StrConv(StrConv("アイウエオ",vbWide),vbHiragana) → "あいうえお"






同じテーマ「ExcelマクロVBA入門」の記事

第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)
第49回.Like演算子とワイルドカード
第50回.総合練習問題6
第51回.Withステートメント
第52回.オブジェクト変数
第53回.Workbookオブジェクト
第54回.Windowsオブジェクト

新着記事 ・・・新着記事一覧を見る

空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)
CSVの読み込み方法(改の改)|ExcelマクロVBAサンプル集(3月17日)
変数とプロシージャーの命名について|ExcelマクロVBA技術解説(2月12日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.ひらがな⇔カタカナの変換|エクセル基本操作
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
6.変数とデータ型(Dim)|ExcelマクロVBA入門
7.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
8.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.定数と型宣言文字(Const)|ExcelマクロVBA入門



  • >
  • >
  • >
  • VBA関数(文字列操作,Replace,InStr,StrConv)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。




    ↑ PAGE TOP