|
▼Porta さん:
>
>少し私に理解できない点があります。
>> With [A6].Offset(DateDiff("d", [A6].Value, theDay))
>> .Select
>> MsgBox theDay & " 日へジャンプしました", , .Address(0, 0)
>> End With
>DateDiff関数がうまく使われていることは分かりますが…今一
>頭にしっかりと入りません。
>シート関数でいえば、ここの"d"は何なんでしょう?
ヘルプにあるとおりです。
DateDiff(interval, date1, date2)
最初の引数 interval は date1 と date2 の間隔を計算するときの単位を
指定するものです。
"yyyy" なら 年単位で、
"m" なら 月単位で、
"d" なら 日単位で 間隔を計算します。
しかし、よく考えてみれば、
> With [A6].Offset(DateDiff("d", [A6].Value, theDay))
こんなことしなくても「日差」ですから、
With [A6].Offset(CLng(theDay) - [A6].Value2)
でよかったですね。
>
>それから
>If StrPtr(ss) = 0& Then Exit Sub
>のStrPtrと 0&の意味を教えてください。
StrPtr関数は 文字列変数の格納されているメモリ上の先頭アドレス(Pointer)
を返します。
StrPtr関数の戻り値が 0& (長整数の0 )のときは 変数がどこにも格納されてい
ない状態を意味し、InputBox関数で[Cancel]ボタンが押されると、アドレス無しの
文字列変数が返されることになっています。
>
>この方法ですと、記述していない20年先の年月日のセルアドレスも
>分かるということになりますね。
う〜ん、確かに(-_-)
最終の日付のチェックが必要でしたかね?
|
|