0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Q17.数式を入力するには?

Posted at

今回はVBAで数式を入力する方法を考えていきます。

以下のようなエクセルを用意しました。
Q17.png

合計と平均の列が未記入の状態となっています。
合計と平均については、通常、セルの値を変数に格納してそれぞれ計算してやれば、
求めること自体は簡単にできます。

ただ、数式を入力するともっと簡単に実装することができますので、
今回は数式を入力する方法について考えていきます。

■ポイント

数式を入力するのは単純です。
そのままRange("A1").value = "=SUM(A2:A3)"といった具体に=を含めた数式を、
valueプロパティにそのまま代入するだけです。

回答を見るとものすごく単純なのが分かります。

■回答

Sub Q17_Answer()
    Range("F3:G16").Value = Array("=SUM(C3:E3)", "=AVERAGE(C3:E3)")
End Sub

■解説

今回、合計と平均の未記入の箇所すべてを対象に数式を入力しています。
Array関数は複数の値を入力するときに使います。
これは、F列には第一引数である=SUM(C3:E3)を、G列には第2引数である
=AVERAGE(C3:E3)を代入することを意味しています。

複数の行に渡りセルを指定したとしても、相対参照により、
行が1つずれるにつれて入力する数式の中の列もひとつずれます。

これにより、たった1行で簡単に実装することができました。

マクロを実行した結果は以下のとおりです。
Q17-2.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?