50の手習い~人生実験室

人生100年時代。50歳から人生を開拓出来るのか?自分の身体を使って実験中

VBA習得への道(1月8日)

1月8日 水曜日

 

今回のお勉強は、三太郎式マクロ勉強法ゴールドディスクのレッスン。レッスン176~177を行いました。

★レッスン176
集計作業の計算式をマクロで変更するレッスンです。
再び読者からのリクエスト特集。給与計算のイメージで学習をします。
時給計算を行う場合は1時間は60分だし、1日は24時間、1か月は28日~31日といった具合に単位が10進法ではないので考え方が難しいです。
VBAではなくてエクセルのワークシート関数を使って時給計算の演習をやった時もすごく苦労しました。

そして、やっぱり相対参照で躓きました。ど~~~しても理解が出来ません!!
まず始点がわからない。現在の位置は含めないんだよね?この辺りはVBAエキスパートのテキストに載っていて理解出来ずに苦労したような記憶があります。


★レッスン177
初心者の私にとっては難し過ぎ、頭混乱しまくりのレッスンでした。
1週間を区切るとして、月単位に考えると月曜日から始まる月もあれば、土曜日から始まる月もあるわけで、その可変をいかに調整するかという点がこういう締め作業のキモになるわけですが、本当にこれは考え方を柔軟にしなければ答えは出せません。
それに、相対参照でセルの番地を示す場合、ただでさえ複雑なのに(こんな感じで(R[1]C[1]:R[2]C[2]))その中に変数を入れるとダブルクォーテーションと&で繋げていく
わけですからどこからどこまでがダブルクォーテーションで囲むのかとか、ほんっとにわけがわからないし、時間が物凄くかかります。
週計の作業は月末締めだけじゃなくて20日締めだとか15日締めだとか必ず月単位ではなかったりするし、
月単位だったとしても30日、31日、28日やうるう年があったり・・・
どの条件でも正常に動くマクロ作りってあらゆる想定をした上で設計して、デバックを繰り返すっていう感じなのでしょうか。
このあらゆる想定が考えも及ばないし、とにかく相対参照にもう少し慣れないと・・・

 

www.start-macro.com