リスト)●はじめに今回説明するのは、文字列を置換する機能のReplaceメゾットの利用方法を説明いたします。ある指定の文字列を指定して、その文字列を別の文字列に置換(変換)する時にとても便利な機能です。区別もReplaceメゾットで指定する事で、置換目的に合わせて使い分ける事が出来ます。それでは、サンプルプログラムを交えて順番に説明いたします。Replaceメゾットを利用するには、下記の通りに設定を行います。検索する文字列を指定する。検索一致した文字列と置き換える。部分一致か完全一致を指定する。文字列の大文字と小文字を区別する。文字列の半角と全角を区別する。書式を検索条件に区別する。書式を置き換えするか指定する。Replacement:=”エクセル”※A列に”EXCEL”の文字列が有る場合、”エクセル”に置換します。Replacement:=”Japan”※セルA1~A8の範囲に”日本”の文字列が有る場合、”Japan”に置換します。※Replaceメゾットは、Replace(What,Replacement)は、必ず設定します。それ以外の設定は、省略する事が出来ます。Replaceメゾットを利用して、文字列を置換します。(サンプル1)下記のサンプルプログラムは、複数文字列を一括に置換します。A列に文字列としてExcel・Word・Outlookが複数登録されています。この文字列に対して、エクセル・ワード・アウトルックへ一括変換します。【プログラムの流れ】1A列の文字列に対して、置換対象の文字列へ置換します。'複数文字列を置換します。'複数文字列を置換します。'複数文字列を置換します。※プログラム実行後、A列の文字列が指定した文字列へ置換されました。(画面クリックして拡大)Replaceメゾットを利用して、指定した文字列を除いて削除(置換)します。(サンプル2)下記のサンプルプログラムは、A列に東京都の住所一覧が表示されています。この住所一覧に表示されている【東京都】部分のみ一括削除(置換)します。【プログラムの流れ】1A列の文字列として登録されている住所に対して、【東京都】のみ削除(置換)します。'指定した文字列を削除します。'指定した文字列を削除します。'指定した文字列を削除します。※プログラム実行後、A列に登録されている住所内の【東京都】部分のみ削除されました。(画面クリックして拡大)Replaceメゾットを利用して、文字列内の空白文字(全角・半角)を削除(置換)します。(サンプル3)下記のサンプルプログラムは、B列に登録されている【氏名】とC列に登録されている【住所】に空白文字がバラバラに挿入されています。)を削除(取り除く)するサンプルプログラムです。【プログラムの流れ】1B列の文字列として登録されている【氏名】に対して、空白文字のみ削除(置換)します。2C列の文字列として登録されている【住所】に対して、空白文字のみ削除(置換)します。'空白文字(全角・半角)を削除します。'空白文字(全角・半角)を削除します。'空白文字(全角・半角)を削除します。※プログラム実行後、B列の「氏名」とC列の「住所」部分に挿入されている空白文字を一括で削除されました。(画面クリックして拡大)Replaceメゾットを利用して、置換リストより指定(コード)に一致した文字列へ置換します。(サンプル4)下記のサンプルプログラムは、Replaceメゾットを利用して、置換リストより指定(コード)に一致した文字列へ置換するサンプルプログラムです。下記のサンプルプログラムは、シート内に勘定科目の置換リスト(対照表)があります。この置換リストを利用して登録されているコードに対して一致する勘定科目へ置換します。【プログラムの流れ】1A列の最終行を取得します。3置換対象をA列に指定します。4A列にE列と一致するコードがあれは、F列の文字列をA列に置き換えます。5A列の最終行まで繰り返す。'置換リストを作成して指定コードに一致した文字列に置換します。'置換リストを作成して指定コードに一致した文字列に置換します。'A列の最終行まで繰り返す。'置換リストを作成して指定コードに一致した文字列に置換します。'A列の最終行まで繰り返す。※プログラム実行後、勘定科目の置換リスト(対照表)のコード参照に、一致する勘定科目名へ一括変換されました。(画面クリックして拡大)Replaceメゾットを利用して、文字列内の改行を一括削除します。(サンプル5)下記のサンプルプログラムは、指定した列の文字列内の改行を一括削除を行うサンプルプログラムです。C列に【メールアドレス】が登録されています。このC列に登録されているメールアドレスは、部分的に改行されています。このC列の改行を全て取り除くサンプルプログラムです。【プログラムの流れ】1C列(メールアドレス)の文字列内の改行を一括削除します。'文字列内の改行を一括削除します。'文字列内の改行を一括削除します。'文字列内の改行を一括削除します。※プログラム実行後、指定したC列「メールアドレス」内の改行が全て削除する事が出来ました。(画面クリックして拡大)Replaceメゾットを利用して、別シートに置換リストを作成して、置換リストに該当するコードを元に複数データの置換処理を行います。(サンプル6)下記のサンプルプログラムは、別シートに置換リストを作成して、データ参照元シートと置換リストに該当するコードと文字列変換を行い、複数のデータに対して置換処理を行います。2つのワークシート「社員情報」と「コード一覧」があります。コード」・「郵便番号」がコード(数値)が登録されています。この登録さている数値は、ワークシート「コード一覧」にて、コードに対する置換リストが作成されています。コードに一致するデータを文字列として、ワークシート「社員情報」に文字列として一括置換を行います。【プログラムの流れ】1シート【社員情報】1行目の最終列を取得2シート【社員情報】A列~D列まで繰り返します。3シート【コード一覧】列ごとの最終行を取得します。(A列⇒C列⇒E列⇒G列と順番に取得))4対象の置換列の最終行まで繰り返す。'別シートに置換リストを作成して、コードと一致した文字列を複数データに対して置換処理を行います。'シート「社員情報」の最終列まで繰り返す。'対象の置換列の最終行まで繰り返す。'指定列対して文字列の置換を行います。'別シートに置換リストを作成して、コードと一致した文字列を複数データに対して置換処理を行います。'シート「社員情報」の最終列まで繰り返す。'対象の置換列の最終行まで繰り返す。'指定列対して文字列の置換を行います。※プログラム実行後、別シート「コード一覧」にある置換リストを元に、コードと一致した文字列に置換しました。(画面クリックして拡大)最後まで、ご覧いただきまして誠に有難うございました。VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。指定した行列に小計を追加する。指定した表を自動的に背景色をゼブラ模様(縞模様)にする。Functionプロシージャを使いこなす。便利なVBAコード・サンプルプログラム一覧・覚えると便利・効率が上がる。エラーかどうがを判定します。