MENU

複数の指定文字を、置換する (n対n)

エクセルVBAマクロを、簡単に作成してみませんか?

例として、アプリで「複数の指定文字を、置換する (n対n)」VBAマクロを作成します。慣れると、1分でマクロが完成します。

処理のイメージ

事例

英語表記?の伝票を日本語に置き換えます。

できました(^^)/

 

アプリの設定

アプリの設定です。

トップページ ⇒▼検索・置換・2表比較 ⇒【ツール】複数の指定文字を、置換する (n対n)



表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。 

Sub デモ_2() '置換(n対n)
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("sheet1").Select
Range("f100").Select
Selection.End(xlUp).Select
右下セル = Selection.Address(False, False)
セル範囲 = "a1" & ":" & 右下セル

 Range(セル範囲).Select
Call デモ_2_メイン処理(セル範囲)
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub
 
Sub デモ_2_メイン処理(セル範囲 As String)
Dim 配列前 As Variant, 配列後 As Variant
配列前 = Split("DATE,NUMBER,ITEM,UNIT PRICE,QUANTITY,AMOUNT,Peaches,Apple,Orange,Grape", ",")
配列後 = Split("納品日,伝票番号,商品,単価,数量,金額,もも,りんご,みかん,ぶどう", ",")
If UBound(配列前) <> UBound(配列後) Then
    MsgBox "置換前と後の、単語の数が異なるので終了します"
    Exit Sub
End If
Dim 番号 As Long
For 番号 = LBound(配列前) To UBound(配列前)
    Selection.Replace What:=配列前(番号), Replacement:=配列後(番号)
Next 番号
End Sub

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓