Excel 2013 マクロ講座 選択したセル範囲全体を処理するFor Each
Excel 2013 マクロ講座 27回
選択したセル範囲全体を連続処理する
春は、一斉に値上げの季節です。
ご愛用の安くて美味しいお弁当屋が、一斉に値上げすることになりました。
どのお弁当も、同額30円の値上げだそうです。
今回のマクロでは、For Each〜Nextステートメントを使って、指定した範囲のセル全てに同じ処理を行います。
(サンプルファイルは、こちらから 2013マクロ講座27回サンプルデータ)
For Each 構文
For Each 構文の使い方です。


これが、処理したいお弁当の価格表です。
変数は、選択範囲のそれぞれのセルになります。

変数は、選択範囲のそれぞれのセルになります。

マクロの内容は、それぞれの金額に30円プラスするというものです。
それでは、Visual Basic Editorを起動します。

Alt+F11 でVBEの起動ができます。
それでは、Visual Basic Editorを起動します。

Alt+F11 でVBEの起動ができます。
新規でコードを書く時は、挿入から標準モジュールを挿入します。標準モージュールにコードを記入します。


Sub 一斉値上げ() と書くと、
自動的に、
End Sub
と記入されます。

自動的に、
End Sub
と記入されます。

変数をFor Each 構文の使い方に当てはめると、このようになります。


スポンサーリンク
スポンサーリンク
実行したい処理は、
選択セルの値=選択セルの値に30円足したもの
コードでは、このようになります。

選択セルの値=選択セルの値に30円足したもの
コードでは、このようになります。

Sub 一斉値上げ()
Dim 選択セル As Range
For Each 選択セル In Selection
選択セル.Value = 選択セル.Value + 30
Next 選択セル
End Sub
コードを実行すると、


作業用のセルがいらないので、スッキリしています。

今日の講義は以上です。お疲れ様でした。

今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク