

VBAで足したり、引いたりどうやったらいいの?
VBAを使って計算できることは知っている方も多いと思いますが、実際に計算をしたという方は多くないと思います。
VBAでは算術演算子という記号を使って計算をしますが、基本的な四則演算「+ – × ÷」のポイントを分かりやすく紹介したいと思います。
VBAで四則演算の基礎からその他の算術演算子の使い方が知りたい
・基本的な算術演算子は「足し算+」「引き算-」「掛け算*」「割り算/」を使う
・他にも「割り算の商¥」「割り算の余りMod」「べき乗^」などある
・演算子にも優先順位がある
基本的な算術演算子
演算子とは数学やプログラミング言語で演算をするときに使う記号のこと
VBAでは算術演算子という記号を用いて計算をします。
と言っても、普段私たちが計算している「足し算+」や「引き算ー」等とほぼ同じようなモノです。
基本的な算術演算子の足し算、引き算、掛け算、割り算は以下のようになります。

'足し算
Dim box
box = 1 + 2 '答えは3
'引き算
Dim box
box = 1 - 2 '答えは-1
'掛け算
Dim = box
box = 1 * 2 '答えは2
'割り算
Dim = box
box = 1 / 2 '答えは0.5
Excekのシートに入力している計算式とほとんど変わらないと思うので、慣れると難しくありません。
その他の算術演算子
四則演算の他にも算術演算子は「割り算の商(整数のみ)」「割り算の余り」「べき乗」などあります。

'割り算の商
Dim = box
box = 3 ¥ 2 '答えは1
'割り算の余り
Dim box
box = 3 Mod 2 '答えは1
'べき乗
Dim box
box = 3 ^ 2 '答えは9
割り算の余りを出す「Mod」は偶数と奇数を判別する時に使えます。
また、文字列を連結するときに「&」という文字列連結の記号もよく使われます。
'文字列の連結
Dim box
box = "文字を" & "連結します"
'「文字を連結します」と代入されます
算術演算子の優先順位
算術演算子にも優先順位がありますが、数学で習った計算順序と似ています。

また、優先順位に関係なく括弧()をつけると優先的に計算します。
Lesson1【自分は○○才です】と表示されるコードを計算を使って書いてみよう
ポイント1:変数を2つ用意する
ポイント2:変数の1つに自分の生まれた年、もう1つに今の年を代入する
ポイント3:自分の年齢は「引き算-」を使って、文字との連結は「&」で表示する
Sub age()
Dim birthYear '生まれた西暦
Dim year '現在の西暦
birthYear = 1988
year = 2021
Debug.Print "pakajiは" & year - birthYear & "才のパパです"
End Sub
<出力結果>

Lesson2【偶数と奇数を判断する】コードを書いてみよう(if分が登場します)
ポイント1:変数を1つ用意する
ポイント2:変数に好きな数字を入力する
ポイント3:if分を使って、「数字を2で割り、余りが0なら偶数、違うなら奇数」という条件文を作る
Sub evenAndOdd()
Dim number
number = 1 '好きな数字を入れてください
If number Mod 2 = 0 Then 'If文「numberを2で割り余りが0の時」という条件
Debug.Print "偶数です"
Else '「余りが0でないとき」
Debug.Print "奇数です"
End If
End Sub
<出力結果>

まとめ
・基本的な算術演算子は「足し算+」「引き算-」「掛け算*」「割り算/」を使う
・他にも「割り算の商¥」「割り算の余りMod」「べき乗^」「文字の連結&」などある
・演算子にも優先順位がある
・括弧()を使うと優先的に計算できる
コメント