7/21/2024

Excel。VBA。複数のセルに同じ数式を設定するなら、繰り返し処理でなくても大丈夫【Multiple Cells】

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倍した値を表示することができたというわけです。