ITサポーターTsuchida

VBA Basic5

第5章 四則演算と文字列の結合

四則演算

VBAでの四則演算は、Excelの数式とほぼ同じです。四則演算の算術演算子は次の通りです。

足し算の算術演算子 +

引き算の算術演算子 -

掛け算の算術演算子 *

割り算の算術演算子 /

割り算の余りの算術演算子 Mod

Excelの数式同様に、掛け算・割り算は足し算・引き算より優先されるので、足し算・引き算を優先したい場合は()で囲います。

例として 2000円の品物を3個購入して、8%の消費税を計算して、税込金額を計算する A3セルに2000、B3セルに3、D1セルに8%に値が入っている。この値を使って、 C3セルにA3とB3のセルから6000を計算し、 D3セルにC3セルとD1セルから480を計算し、 E3セルにC3セルとD3セルから6480を計算する。

ExcelVBABasic5

計算前のイメージ

Cells(3, 3).Value = Cells(3, 1).Value * Cells(3, 2).Value

Cells(3, 4).Value = Cells(3, 3).Value * Cells(1, 4).Value

Cells(3, 5).Value = Cells(3, 3).Value + Cells(3, 4).Value

計算後のイメージ

四則演算は左辺と右辺を同じ名前を使っても問題ありません。カウンターを使って1ずつ加算するときはこのような記述をよくします。

Dim i As Long

i = i + 1

右辺にある変数iの値に1を加算して、左辺のiに代入するという意味です。決して方程式と同じだと思わないでください。

四則演算だけだとVBAなど使わずに、数式を入力してオートフィルを使った方が早いかもしれません。単純な数式であれば構いませんが、100件以上のデータで条件によって式が変わるようでしたら、VBAを個人的にお勧めします。データが多くなればなるほど、数式の入ってるシートは重くなります。VBAは値のみをセットしていますので、シートも軽くてすみます。


文字列の結合

文字列の結合も、四則演算と同様にExcelの文字列演算子である「&」で結合します。結合したい文字列の間に「&」半角のアンパサンドを挟みます。

A2セルに"東京都"、B2セルに"千代田区"、C2セルに"大手町"のときに、 D2セルに、"東京都千代田区大手町"にする。

Cells(2, 4).Value = Cells(2, 1).Value & Cells(2, 2).Value & Cells(2, 2).Value

途中に空白を入れたい場合は、空白も結合させます。

Cells(2, 4).Value = Cells(2, 1).Value & " " & Cells(2, 2).Value & " " & Cells(2, 2).Value

文字列の結合は演算子で出来ますが、文字列の分割は文字列関数のLeftやSplit関数を使います。

四則演算も文字列の結合もExcelのセルに入力するときと同じになっています。四則演算や文字列の結合だけで悩むことはあまりありません。