合計を定数として入力するマクロ
3行マクロ 30回
最初から合計を定数として入力するマクロ
今回は、最初から合計を定数として入力するマクロです。
再計算されないようにとか、式を見せたくないなら、最初から結果を定数として入力してしまえばいいわけです。
(サンプルファイルは、こちらから 3行マクロ30回サンプルデータ)
Excelバージョン:
最初から合計を定数として入力するマクロ
数式の結果を定数として入力するマクロを作ります。
今回使うのは、Evaluateメソッドです。
ワークシート関数をVBAから使用できるすごいメソッドです。
今回使うのは、Evaluateメソッドです。
ワークシート関数をVBAから使用できるすごいメソッドです。
Evaluateメソッドを利用してSUM関数の数式の結果をセルに表示します。
Sub 定数で数式の結果を入力する() Range("B11").Value = Evaluate("SUM(B2:B10)") End Sub
コードを実行すると数式の結果をセルの値として表示します。
Evaluateでどんな関数を使った式の結果でも取得してセルの値として入力できます。
B12セルに平均を出すのも簡単です。
Sub 定数で数式の結果を入力する2() Range("B12").Value = Evaluate("Average(B2:B10)") End Sub
この平均を四捨五入するには、
Sub teisuu4() ActiveCell.Value = Evaluate("Round(Average(C3:C11),0)") End Sub
結果は下図このようになります。
RAND関数の乱数の結果を値で得る
Evaluateメソッドの中で、RAND関数を使うと、乱数を値で得ることができます。
Sub teisuuRand1() ActiveCell.Value = Evaluate("Int(Rand() * 100)") End Sub乱数を値で入力した結果です。
For~Nextで範囲に乱数を入力する
セル範囲に rand 関数を使って乱数を 定数式ではなくて値として得たい場合は、 For~Next を使って 次のように書くことができます。
Sub RAND関数の乱数の結果を値で得る2() Dim 選択 As Range For Each 選択 In Selection 選択.Value = Evaluate("Int(Rand() * 100)") Next 選択 End Sub
今回は以上です。お疲れ様でした。