Excel VBA で変換表シートをもとに変換対象データシートのセルの値を一括変換(置換 Selection.Replace)するサンプルVBA

DEVELOP

Excel VBA で変換(置換)のサンプル

下記の手順で Selection.Replace 変換(置換)する

変換表シート

変換表シートを用意する

置換対象シート

置換対象のデータシートを用意する。Aセルが置換対象で、ボタンを押下するとCセルにバックアップをとるようにした。

置換ボタン配置

置換ボタンを配置し、以下のVBAコードが実行されるようにする。

Private Sub CommandButton1_Click()

Dim 要素数 As Long
Dim 変換表 As Variant

Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String

'変換対象シート
Sheets("データ").Select
セル範囲 = "A1:A1000"
Range(セル範囲).Select

'変換用シート
変換表 = Sheets("変換表").Range("A2:B1000")

'変換対象シートを念のためバックアップ    
Columns("A").Copy Destination:=Columns("C")

'変換(置換)実行
For 要素数 = LBound(変換表, 1) To UBound(変換表, 1)
    Selection.Replace What:=変換表(要素数, 1), Replacement:=変換表(要素数, 2)
Next 要素数

Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開

End Sub

実行後の状態

実行後の状態です。Aセルの内容がCセルにバックアップされ、その後、変換表シートをもとにAセルの値が置換されている事を確認きました。

次は、

Excel VBA で SQL実行にようにデータ集計

タイトルとURLをコピーしました