2011年12月11日日曜日

[ExcelVBA] Replace関数


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

■説明
文字列の一部を別の文字列へ指定された回数分置換して返します。
第一引数:置換対象文字列を指定します。
第ニ引数:置換該当文字列を指定します。
第三引数:置換該当文字列を置換する文字列を指定します。
第四引数:(省略可能)置換該当文字列を検索開始する位置を指定します。省略時1になります。
第五引数:(省略可能)置換する文字列数を指定します。省略時-1となり全て置換されます。
第六引数:(省略可能)文字列比較の比較モードを指定。省略時、Option Compareステートメントの設定にしたがいます。
定数説明
vbUseCompareOption-1Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare0バイナリ モードの比較を行います。
vbTextCompare1テキスト モードの比較を行います。

■サンプルコード
  1. Option Explicit  
  2.   
  3. Sub SampleCode()  
  4.     Debug.Print Replace("検索文字列""検索""置換")  
  5.       
  6.     'Start,Countオプション Startで指定した検索位置より前は返さないことに注意  
  7.     Debug.Print Replace("1a3a5a7a9a""a""*")  
  8.     Debug.Print Replace("1a3a5a7a9a""a""*", Start:=1, Count:=2)  
  9.     Debug.Print Replace("1a3a5a7a9a""a""*", Start:=3, Count:=2)  
  10.     Debug.Print Replace("1a3a5a7a9a""a""*", Start:=5, Count:=2)  
  11.       
  12.   
  13.     '文字列比較、デフォルト(バイナリモード)、テキストモードの比較  
  14.     '大文字/小文字  
  15.     Debug.Print Replace("Aa""A""*")  
  16.     Debug.Print Replace("Aa""A""*", Compare:=vbTextCompare)  
  17.     '全角/半角  
  18.     Debug.Print Replace("AA""A""*")  
  19.     Debug.Print Replace("AA""A""*", Compare:=vbTextCompare)  
  20.     'ひらがな/カタカナ  
  21.     Debug.Print Replace("あア""あ""*")  
  22.     Debug.Print Replace("あア""あ""*", Compare:=vbTextCompare)  
  23. End Sub  

0 件のコメント: