選択範囲を連続処理する
マクロ講座27回
![For Each~Nextステートメント選択範囲を連続処理する](gazo2013/2013_macro_27.png)
![For Each~Nextステートメント選択範囲を連続処理する](gazo2013/2013_macro_27.png)
Excel 2013 マクロ講座 27回
選択したセル範囲全体を連続処理する
春は、一斉に値上げの季節です。
ご愛用の安くて美味しいお弁当屋が、一斉に値上げすることになりました。
どのお弁当も、同額30円の値上げだそうです。
今回のマクロでは、For Each~Nextステートメントを使って、指定した範囲のセル全てに同じ処理を行います。
(サンプルファイルは、こちらから 2013マクロ講座27回サンプルデータ)
For Each 構文
For Each 構文の使い方です。
![For Each~Nextステートメント](gazo2013/macro/2013_macro_27-03.png)
![For Each~Nextステートメント](gazo2013/macro/2013_macro_27-03.png)
これが、処理したいお弁当の価格表です。
変数は、選択範囲のそれぞれのセルになります。
![連続処理](gazo2013/macro/2013_macro_27-01.png)
変数は、選択範囲のそれぞれのセルになります。
![連続処理](gazo2013/macro/2013_macro_27-01.png)
マクロの内容は、それぞれの金額に30円プラスするというものです。
それでは、Visual Basic Editorを起動します。
![](shortcutkey/shortcut_alt-f11.png)
Alt+F11 でVBEの起動ができます。
それでは、Visual Basic Editorを起動します。
![](shortcutkey/shortcut_alt-f11.png)
Alt+F11 でVBEの起動ができます。
新規でコードを書く時は、挿入から標準モジュールを挿入します。標準モージュールにコードを記入します。
![標準モジュール](gazo2013/macro/2013_macro_27-02.png)
![標準モジュール](gazo2013/macro/2013_macro_27-02.png)
Sub 一斉値上げ() と書くと、
自動的に、
End Sub
と記入されます。
![Sub](gazo2013/macro/2013_macro_27-04.png)
自動的に、
End Sub
と記入されます。
![Sub](gazo2013/macro/2013_macro_27-04.png)
変数をFor Each 構文の使い方に当てはめると、このようになります。
![For Each](gazo2013/macro/2013_macro_27-05.png)
![For Each](gazo2013/macro/2013_macro_27-05.png)
実行したい処理は、
選択セルの値=選択セルの値に30円足したもの
コードでは、このようになります。
![Range.Value](gazo2013/macro/2013_macro_27-06.png)
選択セルの値=選択セルの値に30円足したもの
コードでは、このようになります。
![Range.Value](gazo2013/macro/2013_macro_27-06.png)
Sub 一斉値上げ() Dim 選択セル As Range For Each 選択セル In Selection 選択セル.Value = 選択セル.Value + 30 Next 選択セル End Sub
コードを実行すると、
![For Each](gazo2013/macro/2013_macro_27-08.png)
![For Each](gazo2013/macro/2013_macro_27-08.png)
作業用のセルがいらないので、スッキリしています。
![For Each](gazo2013/macro/2013_macro_27-09.png)
今日の講義は以上です。お疲れ様でした。
![For Each](gazo2013/macro/2013_macro_27-09.png)
今日の講義は以上です。お疲れ様でした。