- ベストアンサー
ExcelVBAの変数を使うコツ
matyuといいます。よろしくお願い致します。 基本的な部分の質問です。 VBAでプログラムを考える際に変数を使うタイミングは非常に多いと思いますが、 どういうタイミングでどういう部分を変数として扱えばいいか分からなくて困っています。 添付したファイルのような問題があったとします。 この問題では、日給の部分を"kyuyo"として宣言していますが、 私が考えると曜日も平日と休日で変化するし、時給も1000円と1200円、勤務時間も何が入るか分からないな・・・となってしまい、いくつもいくつも変数にしようとして結果答えと違ってしまいます。 どこに着目して必要最小限の変数宣言ですっきりしたプロシージャーを書くようにしたらよいのでしょうか? 私が考えるに、最終的に導きだされなくてはならないのは"日給(kyuyo)"だからという考え方でいいのでしょうか 【問題】 セル【C16】に曜日として「平日」「休日」を、【D16】に勤務時間を入力してプロシージャを実行すると、日給をセル【E16】に表示する「練習1」プロシージャを作成しましょう。 また、勤務時間が空欄の場合はセル【E16】に「休み」と表示されるようにします。 【この問題の回答】 Sub 練習1() Dim kyuyo As Currency If Range("D16").Value = "" Then Range("E16").Value = "休み" Else If Range("C16").Value = "平日" Then kyuyo = 1000 * Range("D16").Value Range("E16").Value = kyuyo ElseIf Range("C16").Value = "休日" Then kyuyo = 1200 * Range("D16").Value Range("E16").Value = kyuyo End If End If End Sub
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- Wendy02
- ベストアンサー率57% (3570/6232)
- rukuku
- ベストアンサー率42% (401/933)
- ookami1969
- ベストアンサー率14% (137/953)
- phoenix343
- ベストアンサー率15% (296/1946)
お礼
Wendy02様 回答ありがとうございます。 >入門レベルであれこれ複線を考えることは、上達にはマイナスになります。 >VBAは、短いフレーズをいくつも覚えることです。 上記の件大変に参考になりました。 また、Wendy02さんに書いていただきました記述も初心者が見てもわかりやすいです。 私はこのシリーズを1度に2冊買ってしまい、少々期待しすぎていました。(一応、以前通っていたナガセPCスクールで使っていたテキストがFOMだったのと、amazonのレビューを見て買ったんですが・・・) テキストは良いものを選ばないといけないことを実感しました。 こちらのカテゴリで皆さんが使われている書籍を探してみます。