2日目 計算式の設定は苦手

とあるサイトの練習問題をやってみた。

 

B2からL12までが表になっていて、B3からB12まで1から10まで数字が入っている。同じ様にC2からL2まで1から10まで数字が入っている。
で、交点のセルに掛け算の計算式を設定する。
いわゆる百マス計算だ。

 

問題を見て計算式の設定と書いてあったからうわっと思ってしまった。
ExcelVBAを勉強してきて、分かりずらいからなんとなく避けてきた計算式の設定。
避けてきたから総合練習問題で出てきたら案の定分からなくて撃沈。。
本当に分からなくて答えを見てしまった…。

 

答えは2通り書いてあってまず1つ目。
Sub 練習1()
  Sheets("Sheet1").Range("C3:L12").Value = "=C$2*$B3" '計算式設定
End Sub

 

こんなシンプルでいいの?
掛け算だから変数を2つ宣言してFor文で繰り返して…とか考えてたのに。
その辺は自分で考えて使わないとダメってことなのかな、進んで計算式の設定を使わないから頭が回らないわ。。


2通りの答えの2つ目。
Sub 練習2()
  Dim i As Long, j As Long
  For i = 3 To 12
    For j = 3 To 12
      Cells(i, j).FormulaR1C1 = "=R2C*RC2"
    Next j
  Next i
End Sub

 

こっちは変数を2つ宣言して繰り返して…、その考え方は同じだった。
だけどR1C1参照形式を使ってる時点で普段使わないから分からない。
普段から使っていかないとダメだな。。


ちなみにこの2つのマクロの実行結果は全く同じだった。
でもここで疑問が。
Formulaプロパティっていつ使うんだろう…。

 

Sheets("Sheet1").Range("C3:L12").Value = "=C$2*$B3"
Sheets("Sheet1").Range("C3:L12").Formula = "=C$2*$B3"
この2つも実行結果が全く同じだったし、Formulaプロパティって何に使うんだ?

やっぱり計算式の設定は苦手だし嫌いだと思った。