Excel。VBA。複数のセルに同じ数式を設定するなら、繰り返し処理でなくても大丈夫
<Excel VBA>
データを読み込んだ後に、例えば1.5倍した数値を表示したい場合、データの回数、繰り返し処理をすることで、算出することができます。
ただ、繰り返し処理をしなくても、次のような方法をつかうことでも、対応することができます。
次の表を用意しました。
A列に販売金額が入力されています。
この値を1.5倍したものをB列に表示したい。
また、単純に1.5倍するのではなく、整数にしたい
このようなプログラム文をつくってみました。
Sub 金額を倍()
Dim lastrow As Long
lastrow = Cells(Rows.Count, "a").End(xlUp).Row
Range(Cells(2, "b"), Cells(lastrow, "b")) = "=int(a2*1.5)"
End Sub
では、実行してみます。
B列には、A列の販売金額の1.5倍して整数化した数値が表示されています。
プログラム文を確認しておきます。
Dim lastrow As Long
lastrow = Cells(Rows.Count, "a").End(xlUp).Row
A列の最終行番号を取得する変数です。
Range(Cells(2, "b"), Cells(lastrow, "b")) = "=int(a2*1.5)"
Range(“B2:B9”)というのを、Range(Cells(2, "b"), Cells(lastrow, "b")) で対応しております。
そして、
=int(a2*1.5)
A2✕1.5した値を、INT関数をつかって、整数化しています。
何をやったのかというと、
範囲選択して、Ctrl + Enter をやったのと同じことをしております。
Ctrl + Enterをすると、範囲選択には、同じ数値や文字、あるいは数式を入力することができます。
こうすることで、繰り返し処理をしなくても、B列にA列の1.5倍した値を表示することができたというわけです。