第4回.セルの値を使って計算する(四則演算)
エクセルは表計算ソフトです。
マクロVBAでも、何はともあれ計算出来なければなりません、
エクセルではセルに入っている数値を使って計算します。
マクロVBAでも同様にセルに入っている数値を使って計算できます。
A1セルとB1セルの数値で、四則演算してみます。

セルの値を使って足し算
Enter
TAB
cells(2,3)=cells(2,1)+cells(2,2)
Enter

では入力カーソルが、
Sub 練習5 ~ End Sub の間にある状態で実行F5

110
と表示されました。
Range("C2") = Range("A2") + Range("B2")
しかし、この場合のセル位置は移動する可能性が高そうですね、
こういう場合は、最初からCellsで書きましょう。
計算式の書き方は、シートでの計算式と同じなので、簡単ですね。
セルの値を使って四則演算
足し算の下の行から、
Enter
cells(2, 5)=cells(2, 1)*cells(2, 2)
Enter
cells(2, 6)=cells(2, 1)/cells(2, 2)
Enter


- 引き算
* 掛け算
/ 割り算
セルの値を使った応用計算
以下の計算をしてみましょう。

そして、税抜き小計に消費税(1.08)を掛けて税込み合計を求めます。
Enter
TAB
cells(2,4)=cells(2,1)*(cells(2,2)+cells(2,3))
Enter
cells(2,5)=cells(2,4)*1.08
Enter


小学校で習いましたが、
掛け算と割り算を先に計算して、その後に足し算と引き算を行います。
エクセルは、これを忠実に守っていますので、
今回の場合は、足し算を先に行う必要があるので括弧()で囲んでいます。
110×(5+7)
Cellsで書くとちょっと混乱しますが、このように書けばわかるはずです。
それぞれの数値をCellsに置き換えれば完成します。
これは、シートでの計算と同じです。
ワークシートの関数を使った計算
四捨五入か切り捨てか、1円未満の端数処理が必要です。
=ROUND(D2*1.08,0)
四捨五入なら、このように書くでしょう。
切り捨てなら、INT関数を使うかもしれません。
何にしろ、関数が必要なんです。
マクロVBAでも同様に関数が必要です。
Cells(2, 5) = WorksheetFunction.Round(Cells(2, 4) * 1.08, 0)
このように書きます。
関数についての詳細は、後々に説明します。
今は、シートで使う関数を書くときは、
WorksheetFunction.関数名(引数・・・)
このように書くものだと覚えてください。
ExcelマクロVBA入門の対応ページ
第87回.WorksheetFunction(ワークシート関数を使う)
同じテーマ「マクロVBA再入門」の記事
第1回.マクロを書く準備をする(VBAとVBE)
第2回.マクロを書いて動かす(SubとF5)
第3回.セルに数字や文字を入れる(RangeとCells)
第4回.セルの値を使って計算する(四則演算)
第5回.同じ計算を行数分繰り返す(For~Next)
第6回.表の先頭から最終行まで繰り返す(ForとEnd(xlUp).Row)
第7回.セルの値によって計算を変える(Ifステートメント)
第8回.表範囲をまとめて消去する(OffsetとClearContents)
第9回.関数という便利な道具(VBA関数)
第10回.ワークシートの関数を使う(WorksheetFunction)
第11回.分からない事はエクセルに聞く(マクロの記録)
新着記事NEW ・・・新着記事一覧を見る
セル数式における「再帰」の必要性|エクセル雑感(2025-11-10)
掛け算(*)を使わない掛け算|足し算(+)を使わない足し算|エクセル関数応用(2025-11-10)
配列を自在に回転させる数式|エクセル関数応用(2025-11-09)
非正規化(カンマ区切り)の結合と集計:最適な手法は?|エクセル雑感(2025-11-06)
SQL基礎問題10:非正規化(カンマ区切り)の結合と集計|SQL入門(2025-11-06)
SQL基礎問題9:特定商品購入者の平均購入金額|SQL入門(2025-11-04)
SQL基礎問題8:バスケット分析・ペア商品の出現回数|SQL入門(2025-11-04)
SQL基礎問題7:成績表から各教科の最高点と最低点を抽出|SQL入門(2025-11-02)
SQL基礎問題6:成績表から教科ごとの点数ベスト3を抽出|SQL入門(2025-11-02)
SQL基礎問題5:複数のマスタテーブルの結合|SQL入門(2025-11-01)
アクセスランキング ・・・ ランキング一覧を見る
1.生成AIパスポート試験 練習問題(四肢択一式)|生成AI活用研究
2.最終行の取得(End,Rows.Count)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.RangeとCellsの使い方|VBA入門
7.FILTER関数(範囲をフィルター処理)|エクセル入門
8.日本の祝日一覧|Excelリファレンス
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.セルのクリア(Clear,ClearContents)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.
