Sub formulatest1()
Dim lnCnt As Long
For lnCnt = 0 To 10
MsgBox Range("A4").Offset(, lnCnt).Formula
Next
End Sub
Sub formulatest2()
Dim lnCnt As Long
For lnCnt = 0 To 10
MsgBox Range("A4").Offset(, lnCnt).Value
Next
End Sub
上で紹介したリンク先の動画と関連のサンプルコードを使って学んでください。 さらに、自分で手を動かして、「ワークシート関数を記入するマクロ」をイチから手書きして、動作確認をしてください。 もちろん、 sub omake() ... end sub で紹介した以外のワークシート関数等も試しに書いてみてください。
受講生さんの投稿
(投稿ID: 4023) 添付ファイルのダウンロード権限がありません
今回のセミナー内容が自分でも分かったのか、分かってないのかがよく分からず、またどこが分かっていないのかもぼんやりしている状態です。
試しに以下の2つのスクリプトを書いて実行してみました。
ちなみに後の方のValueプロパティを実行すると、A4のところで
実行時エラー13 型が一致しません
と言われてしまいます。
ちなみにA4を削除して実行すると、他のセルでは、エラーは発生せず、
"=IF(K4="","",(K4-J4))"という式が入っているセルも空の情報""が入っていると表示されました。・・・これは、式の結果の「値」が情報として表示された、ということか☆きっとそうですね?
それから、
Sub formulatest1を実行すると、日付のところは"2009/6/29"の代わりに"39993"という値が表示されました。これはきっと2009/6/29を表す数字なのだと思うのですが・・・これは、こういうものと覚えておけばきっといいのですよね・・・。
なんか独り言のような書き込みになってしまい、すみません!!
一番知りたかったのは「Formulaプロパティは、セルの中に式が入っている場合に使うと思えばよいでしょうか?」だと思います。
自分でもよく分からない状態なので、質問がはっきりとしてなくて申し訳ないです。
お詫びと共に質問させていただきますm(_ _)m。
小川慶一さんのコメント
(コメントID: 5582)
>日付のところは"2009/6/29"の代わりに"39993"という値が表示されました。これはきっと2009/6/29を表す数字なのだと思うのですが・・・これは、こういうものと覚えておけばきっといいのですよね・・・。
上記については、以下の無料動画及び基礎編本編の動画をご確認ください。
○書式設定の活用方法、書式設定が原因で起こりうる問題とその対処法
https://forum.pc5bai.com/lesson/page/29/
○基礎講座第2章4 - セルの書式と、値の投入
https://forum.pc5bai.com/lesson/page/112?t=1531753798
> Formulaプロパティは、セルの中に式が入っている場合に使うと思えばよいでしょうか?
> 一番知りたかったのは「Formulaプロパティは、セルの中に式が入っている場合に使うと思えばよいでしょうか?」だと思います。
違います。
というか、部分的には正しいようにも読めないこともないですが、その質問は、より前(基礎編レベル)の大前提についでの理解に欠けた質問です。
つまり、質問の内容がだめなのではなくて、質問そのものがだめです。
ですので、基礎編本編から丁寧に動画を見直し、レジュメPDFを読み返し、復習されることをまずはおすすめします。
前記日付の記入にかかる質問を読んだ印象としても、発展編1 フォローメールセミナー第9回で提出されたマクロを読んだ印象としても、そのような復習は今の受講生さんにとって極めて有効なものと確信します。
なお、基礎編の以下の動画で sub omake() ... end sub 内で紹介したように、 .Formula を使わずとも、 .Value でもエクセルのセルにワークシート関数を埋め込むことができます。
https://forum.pc5bai.com/lesson/page/103
なので、 .Formula, .FormulaR1C1 については、理解できなければ理解できないで構いません。
今はムリに理解しようとせず、「とにかくセルに何か書き込むときは、 range("a1").value = "なんとかかんとか" と書くものだ」とだけ覚えておいてください。
上で紹介したリンク先の動画と関連のサンプルコードを使って学んでください。
さらに、自分で手を動かして、「ワークシート関数を記入するマクロ」をイチから手書きして、動作確認をしてください。
もちろん、 sub omake() ... end sub で紹介した以外のワークシート関数等も試しに書いてみてください。