Excel VBA:文字列を置換する方法(5つの効果的な方法)

  • これを共有
Hugh West

をお探しの方。 文字列の中のテキストを置き換える エクセル使い ブイビーエー そこで、この記事では、文字列の一部を置換することで、文字列の再入力の手間を省くことができます。 それでは、本記事で、この置換作業の詳細を説明します。

ワークブックダウンロード

String.xlsmの文字列を置換する

Excel VBAで文字列を置換する5つの方法

ここで、従業員のEメールアドレスが記録された以下のデータセットがある。 我々の仕事は、古いドメイン名を新しいドメイン名に置き換えることである。 以下の方法では、このデータセットと、いくつかのランダムなテキスト文字列を用いて、目的のテキストに置き換える作業を行う。 ブイビーエー のコードです。

を使用しています。 Microsoft Excel 365 のバージョンがありますが、ご都合に合わせて他のバージョンもお使いください。

Method-01:ランダムな文字列のn番目の位置から始まる文字列を置換する。

ここでは、開始位置の異なるランダムな文字列でテキストを置き換えることにします。

Step-01 :

➤ に進みます。 デベロッパー タブ>> コード グループ>> ビジュアルベーシック オプションです。

その後 Visual Basic エディター が開きます。

➤ に進みます。 インサート タブ>> モジュール オプションです。

その後 モジュール が作成されます。

ステップ02 :

➤ 次のコードを書いてください。

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "百台 五十台 十台" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

ここでは、以下のように宣言しています。 full_txt_str update_str かわりに 文字列 を割り当てた上で full_txt_str をランダムなテキスト文字列に変換します。 "百台 五十台 十台" .それから ブイビーエー REPLACE機能 を置き換えるために使用されます。 このランダムな文字列の一部を 自転車 1 の位置から置換を開始するために使用されます。 1 最後に、この新しい文字列を update_str とメッセージボックス付き( MsgBox ) の結果を見ることができます。

➤ プレス F5 .

では、a メッセージボックス は、置換された新しいテキスト文字列と一緒に表示されます 自転車 .

➤ 2つ目のインスタンスから入れ替え処理を行うため は、次のコードを使用してください。

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "百台 五十台 十台" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

ここでは、開始位置を 14 の後に文字列の部分を持たせたいからです。 百台 に置き換えてください。 をご覧ください。

➤後 ランニング というコードにすると、次のようになります。 メッセージボックス とのことです。 テキスト文字列 起点 フィフティ とのことです。 自転車 にあっては .

この文字列の最後の部分のみを持つために、以下のコードを適用しています。

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "百台 五十台 十台" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub 

ここでは、開始位置を 25 の後に文字列の部分を持たせたいからです。 フィフティカーズ に置き換えてください。 をもって 自転車 をご覧ください。

最後に メッセージボックス で置換され、文字列の希望する部分が 自転車 .

続きを読む: Excel VBA:文字列内の文字を位置で置換する(4つの効果的な方法)

Method-02:ExcelVBAでランダムな文字列のn番目に出現する文字列を代入する

を用いて、出現回数の異なるランダムな文字列にテキストを置き換える。 ブイビーエー のコードで表示されます。

ステップス :

➤フォロー Step-01 方法-1 .

➤ 次のコードを入力します。

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "百台 五十台 十台" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

ここでは、以下のように宣言しています。 full_txt_str update_str かわりに 文字列 を割り当てた上で full_txt_str をランダムなテキスト文字列に変換します。 "百台 五十台 十台" .その後 REPLACE機能 を置き換えるために使用されます。 このランダムな文字列の一部を 自転車 , 1 の位置から置換を開始するために使用されます。 1 この文字列の最後の 1 は出現回数をカウントするためのものです。 1 をカウント数として定義しています。 のみです。 最後に、この新しいテキスト文字列を update_str とメッセージボックス付き( MsgBox ) の結果を見ることができます。

➤ プレス F5 .

その後、a メッセージボックス が新しいテキストで表示されます 自転車 において 一位 だけです。

➤ 最初の2つのインスタンスを置き換えるために をもって 自転車 は、次のコードを使用してください。

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "百台 五十台 十台" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

これです。 2 の最初の2つのインスタンスを置き換えるためのカウント番号として使用されます。 をもって 自転車 .

コードを実行すると、最初の2つのテキストが置き換わります。 をもって 自転車 .

➤ 次のコードを適用して、テキストのインスタンスをすべて置き換えます。 .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "百台 五十台 十台" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

ここで、最後の引数である REPLACE機能 でございます 3 を全て入れ替えたことを示す計数値である。 をもって 自転車 をテキスト文字列で指定します。

➤ プレス F5 .

その後、以下のとおりです。 メッセージボックス を置換されたテキストに置き換えます。 自転車 を文字列で指定します。

類似の読み物

  • エクセルで文字列を改行で置換する方法(4つのスムーズな方法)
  • Excel VBA:Word文書内の文字列の検索と置換を行う方法
  • Excelで特定の文字以降のテキストを置換する方法(3つの方法)
  • Excelで条件に応じてセルの文字列を置換する(5つの簡単な方法)

Method-03:InputBoxでランダムな文字列のテキストを置換する

ここでは、ランダムな文字列の中のあるテキストを、ユーザが定義したテキストに置き換えるために VBA 入力ボックス機能 .

ステップス :

➤フォロー Step-01 方法-1 .

➤ 次のコードを入力します。

 Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "百車五十車十車" new_txt = InputBox("Write down new text to replace") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub 

ここでは、以下のように宣言しています。 full_txt_str , new_txt そして update_str かわりに 文字列 を割り当てた上で full_txt_str をランダムなテキスト文字列に変換します。 "百台 五十台 十台" で置換されるテキストをユーザー定義入力とするには,次のようにします. をランダムな文字列の中で使っています。 InputBox機能 を作成し、この値を new_txt .それから REPLACE機能 を置き換えるために使用されます。 このランダムな文字列の一部を new_txt 最後に、この新しいテキスト文字列を update_str とメッセージボックス付き( MsgBox ) の結果を見ることができます。

➤ プレス F5 .

その後 入力ボックス が表示されますので、新しい文字列の中に入れたいテキスト部分を入力してください。

➤タイプ 自転車 または任意のテキストを入力し よっしゃー .

最後に、新しいテキスト文字列が新しいテキストを持つ、次のような結果が得られます。 自転車 にあっては .

続きを読む: Excelの数式でテキストを置換する方法(7つの簡単な方法)

Method-04:ExcelVBAで文字列の範囲のテキストを置換する

ここでは、その代用として Gメール のドメインでメールIDの一部を構成します。 新ドメイン カラムに、新しい電子メールIDを蓄積するために、新しいカラムを挿入しました。 最終メールアドレス .

ステップス :

➤フォロー Step-01 方法-1 .

➤ 次のコードを入力します。

 Sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = ""End If Next i End Sub 

ここでは FORループ から操作を実行します。 4列目 まで 13列目 .協力のもと イフテン ステートメントで、EメールIDが D列 含む 「gmail という基準があり、この基準を満たすために 「gmail の新しいドメインに置き換わります。 E列 に新しいIDを作成します。 F列 の対応するセルが空白になります。 F列 .

➤ プレス F5 .

そうすると、新しいメールIDが 最終メールアドレス の欄があります。

続きを読む: Excel VBAで列内の文字列を検索して置換する(2例)

方法05:ユーザー入力で文字列を検索し、文字列の範囲を置き換える

以下のメールIDを新しいドメインに置き換え、以前のIDの何を置き換えるかを宣言します。この方法に従って、ユーザー入力を使用することができます。

ステップス :

➤フォロー Step-01 方法-1 .

➤ 次のコードを入力します。

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Enter string to be replaced") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

ここでは、以下のように定義しています。 部分テキスト として 文字列 を通してユーザーから与えられる文字列に割り当てました。 入力ボックス .

その後 FORループ から操作を実行します。 4列目 まで 13列目 を使用しています。 イフテン 文の電子メール ID が正しいかどうかを確認しました。 D列 含む 「gmail そして、この基準を満たすために 「gmail の新しいドメインに置き換わります。 E列 に新しいIDを作成します。 F列 の対応するセルが空白になります。 F列 .

➤ プレス F5 .

それ以降は 入力ボックス ここで、E-mail IDの範囲内で検索したい文字列を入力します(ここでは Gメール ) を押してください。 よっしゃー .

最後に、更新したメールIDを 最終メールアドレス の欄があります。

続きを読む: Excel VBAで範囲内の文字列を検索・置換する(マクロとUserForm)

プラクティス部門

自分で練習できるように 実践編 という名前のシートに、以下のようなセクションを作成します。 実践編 .自分でやってください。

結論

今回は、Excelを使って文字列を置換する方法について取り上げてみました ブイビーエー ご意見、ご質問等ございましたら、コメント欄にてお寄せください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。