2019.12.09スポンサーリンクみなさんは、VBAでReplace関数を使ったことがありますか?VBAで任意の文字列を他の文字列に置き換えたいReplace関数の使いどころがわからないReplace関数の利用の仕方を実例付きで知りたい!という方もいるのではないでしょうか。そこで今回は、任意の文字列を他の文字列に置き換えるReplace関数の使い方と実務での応用方法をサンプルコード付きで紹介します。カエレバAmazon楽天市場Yahooショッピングスポンサーリンク目次VBAでのReplace関数の使い方Replace関数の引数についてReplace関数に指定できる引数一覧その他の省略可能引数を指定した場合の実例Replace関数の実務での利用方法スペースを半角に統一する任意の語句を削除して部門部課から課だけを取り出す「かっこ」内の文字を取り出すフルパスをディレクトリとファイル名に分けるVBAでのReplace関数まとめVBAでのReplace関数の使い方Replace関数は、文字列から任意の文字列を検索して指定した文字列に置き換える関数です。"EF")まず、対象文字列「ABCDE」から検索文字列「E」を検索します。続いて、見つかった「E」を置換文字列「EF」に置き換えて「ABCDEF」を返します。「3」が指定されているので対象文字列は「CDE」となります。省略しているので、対象文字列「ABCABCABC」から検索文字列「A」を検索します。「2」が指定されているので「2」回だけ置換を実行します。第六引数の指定は下記の定数で行います。0)対象文字列「ABCDE」から検索文字列「a」を検索して、置換文字列「””」(空文字列)に置き換えを行います。この時、第六引数の比較形式に「0」を指定しているため、大文字と小文字が区別されて検索されます。よってこの場合、置換は実行されず返り値は「ABCDE」となります。1)対象文字列「ABCDE」から検索文字列「a」を検索して、置換文字列「””」(空文字列)に置き換えを行います。この時、第六引数の比較形式に「1」を指定しているため、大文字と小文字は区別されずに検索されます。よってこの場合、置換が実行され、返り値は「BCDE」となります。iはじめに、次の部分で対象となるワークシート「サンプル」を変数「trgtSh」に定義しています。ThisWorkbook.Worksheets("サンプル")続いてメイン処理である「ForNext」を実行します。i「ForNext」は、カウンターに設定した変数(「i」)がループごとに変化する処理です。10」となっているので「1」から「10」まで変化します。範囲内の次のセルを順番に「trgtRng」に定義していく処理となります。1)「ForNext」で定義したセルにそれぞれ次の処理を行います。trgtStrまず、セルの値を変数「trgtStr」に定義します。“」(半角スペース)に置き換えます。最後に元のセル「trgtRng」の値に全角スペースを半角スぺ—スに置き換えた「trgtStr」を設定します。「ForNext」ループが終了すれば、文字列内のスペースを半角に統一することができます。"")まず、前半の次の部分で「部門部課」全体の文字列(「trgtStr」)と、削除したい「部」全体の文字列(「delStr」)を定義しています。文字列(「trgtStr」)から、削除したい「部」全体の文字列(「delStr」)を「””」(空文字)に置き換えることで、「課」全体の文字列(「sectionStr」)を取り出すことができます。"")まず、Replace関数を使って「trgtStr」に定義した(ABCDE)」内の「”(””」を「””」(空文字列)に置き換えます。以上の処理で「trgtStr」に定義した「(ABCDE)」から「”(”」「”)”」を削除し、かっこ内の文字列「ABCDE」を取り出すことができました。このように連続していない複数の文字列に置換を行いたい場合は、Replace関数を重ねて使用することで目的の文字列を取り出すことができます。"")まず次の部分で、ディレクトリとファイル名に分けたいフルパス「trgtPath」から、ディレクトリ「dirStr」を取り出します。“\”)」の部分で末尾の「\」の位置、つまりファイル名が始まる直前の位置を取得しLeft関数でそれよりも前の文字列であるディレクトリを取得しています。5次にフルパス「trgtPath」から取得したディレクトリ「dirStr」を取り除いて、ファイル名「fileName」を取得します。"")画像のように「Replace関数」を使って、フルパス「trgtPath」からディレクトリ名「dirStr」を「空の文字列」に置き換えることでファイル名「fileName」を取得しています。以上で、フルパスをディレクトリとファイル名に分けることができました。ファイル名の取得は、Dir関数でも行うことができますので、あわせてご覧ください。【ExcelVBA】Dir関数の使い方とは?実務で使うテクニックも解説こんにちは、VBAエンジニアのやすこれです。VBAでのファイル一覧取得方法を知りたい!yasucore.com2020.02.01Left関数については、下記でも詳しく解説しているので、読んでみてください。【ExcelVBA】Left関数の使い方とは?実務で使うテクニックも解説こんにちは、VBAエンジニアのやすこれです。Left関数の利用の仕方を実例付きで知りたい!yasucore.com2020.02.01VBAでのReplace関数まとめ今回はVBAでのReplace関数の使い方と実務での使用方法を紹介いたしました。「置換回数」の指定の仕方についても覚えておきましょう。実例通り使ってみると、理解が深まり応用が効くのでおすすめです。ExcelVBA】VLOOKUP関数の使い方とは?よくあるエラーの対策も解説!こんにちは、VBAエンジニアのやすこれです。【Windows】OneDriveを無効化して自動起動を停止する方法を解説こんにちは。VBAエンジニアのやすこれです。みなさんは、OneDrive使っていますか?ぼくの場合、オンラインストレージはDropboxとGoogleDriveを使っているので使っていません。同じようにOneDrive以外のサービスを使っている方は、OneDriveは必要ないですよね。思ったこともあるのではないでしょうか。最近とてもいいWebサービスが増えてきた。ブラウザ上で完結するのは便利な反面、開くまでのステップが多い。Webサービスをアプリみたいに一発で開きたい。【ExcelVBA】InStr関数の使い方とは?実務で使うテクニックも解説!こんにちは。VBAエンジニア兼テックライターのやすこれです。【ExcelVBA】Len関数の使い方とは?実務で使うテクニックも解説こんにちは、VBAエンジニアのやすこれです。【ExcelVBA】数値を文字列に変換するStr関数とは?注意と対策も解説こんにちは、VBAエンジニアのやすこれです。【ExcelVBA】Right関数の使い方とは?実務で使うテクニックも解説こんにちは、VBAエンジニアのやすこれです。2017年12月やすこれ働きたくない。いう思いから投資をはじめ、ブログを書いてます。働かないために業務自動化を推し進め、幅広くExcel(VBA含む)の知識を身に付けました。その後、事務職からVBAエンジニアへの転職を果たしています。VBA開発・Excel指導依頼受け付けてます。Twitterやcoconala等でお気軽にDMください。2017年12月やすこれ働きたくない。いう思いから投資をはじめ、ブログを書いてます。働かないために業務自動化を推し進め、幅広くExcel(VBA含む)の知識を身に付けました。その後、事務職からVBAエンジニアへの転職を果たしています。VBA開発・Excel指導依頼受け付けてます。Twitterやcoconala等でお気軽にDMください。カテゴリーを選択ライフハック。