Excel 2013 マクロ講座 27回

選択したセル範囲全体を連続処理する

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

For Each 構文

For Each 構文の使い方です。
For Each~Nextステートメント
これが、処理したいお弁当の価格表です。
変数は、選択範囲のそれぞれのセルになります。
連続処理
マクロの内容は、それぞれの金額に30円プラスするというものです。
それでは、Visual Basic Editorを起動します。

Alt+F11 でVBEの起動ができます。
新規でコードを書く時は、挿入から標準モジュールを挿入します。標準モージュールにコードを記入します。
標準モジュール
Sub 一斉値上げ() と書くと、
自動的に、
End Sub
と記入されます。
Sub
変数をFor Each 構文の使い方に当てはめると、このようになります。
For Each
スポンサーリンク
スポンサーリンク

実行したい処理は、
選択セルの値=選択セルの値に30円足したもの
コードでは、このようになります。
Range.Value
Sub 一斉値上げ()
    Dim 選択セル As Range
    For Each 選択セル In Selection
        選択セル.Value = 選択セル.Value + 30
    Next 選択セル
End Sub
    
コードを実行すると、
For Each
作業用のセルがいらないので、スッキリしています。
For Each

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