すぐに役立つ3行マクロ講座 46回

選択範囲に文字列を追加する

3行マクロ講座43回で、セル範囲に同じ文字を追加するマクロを紹介しました。
コードでは特定のセル範囲を指定して実行しました。それでは、範囲が違う場合にコードを書き換える必要が出てきます。
そこで今回は、セル範囲を限定せず、選択範囲とした場合の同じ文字を追加する方法を紹介します。

選択範囲の先頭に文字列を追加
(サンプルファイルは、こちらから 3行マクロ46回サンプルデータ

範囲を限定せずに、汎用的に使うには

43回のマクロです。
セル範囲B3:B35に" 様"を追加するコードになります。
Sub 一括文字列追加()
Range("B3:B35").Value = Evaluate("B3:B35&"" 様""")
End Sub
    
選択範囲に文字列を追加
セル範囲を指定せず、選択範囲に対して、一括で同じ文字列を追加するコードの場合、 Evaluateメソッドでは、数式の記述が少しだけ長くなります。
というのは、その範囲の セル参照を文字列として取得する必要があるからです。
Selection.Addressで、選択範囲のアドレスを取得してやります。
選択範囲に文字列を追加2
Sub 選択範囲に一括文字列追加()
 Selection.Value = Evaluate(Selection.Address & "&"" 様""")
End Sub
Evaluateの引数は、"で囲みます。また文字列は2重の""で囲む必要があります。
選択範囲に文字列を追加3
イミディエイトウィンドーで実行するときは、コード内にカーソルを置きEnterキーで実行されます。こちらもお試しください。
Selection.Value = Evaluate(Selection.Address & "&"" 様""")
    
選択範囲に様を追加
このコードは、" 様"を追加するだけでなく、他の文字列も追加することができます。 またサンプルは、文字の後ろに追加しましたが、以下のコードのように、文字列の前にも文字列を追加することができますので、便利に使えます。
Sub 選択範囲の先頭に文字列追加()
 Selection.Value = Evaluate("""1-2 ""&" & Selection.Address)
End Sub
    
今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク