質問: Excel VBAでの疑問点ですが、少し調べても解決しないので教えていただきたいです。 今日と2020/7/1との差の分、下にずらしたセルを選択したくて
回答: VBAの関数とワークシート関数が混合してしまっています。 "=datediff(d,date,#7/1/20#)" というのは文字列ですが先頭に=が付くと数式になります。 が、 それはセルに文字列を入れた時です。この場合は変数に文字列を入れるのですから数式にはなりません。なので Cells(文字列,4) で型が変ですよ、になります。それにワークシート関数なら ="=DATEDIF(""2020/7/1"",TODAY(),""d"")" おそらく i = DateDiff("d", Date, #7/1/2020#) なのかもしれませんが今日が2020/10/29なら iは-120になります。 Cells(-120,4)でエラーです。 Sub test() Dim i As Long i = DateDiff("d", #7/1/2020#, Date) Cells(i, 4).Select End Sub こんな感じかな? D120セルが選択されます。