• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:教えて下さい。EXCELVB)

EXCELVBでの日付比較処理について

このQ&Aのポイント
  • EXCELVBを使用して、1か月後のデータが特定の日付データより新しくなったら処理を終了したいです。
  • 現在の処理では無限ループになってしまうため、適切な書き方を知りたいです。
  • また、日付の比較の仕方も正しく行われているか不明です。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

あなたのコードだと、 Sheets("A").Range("B13") <= Sheets("A").Cells(i, 10) 最初は、B13とJ7を比較して大きければループを抜ける→J7はこの時点では空欄なので、抜けない 2番目にこの Until にたどり着いた時はB13とJ8を比較して大きければループを抜ける→J8はこの時点では空欄なので、抜けない ・・・と常に空欄となっている時と、B13を比較しているので、無限ループとなるのです。 なので、以下の様にしてみてください Sub test() Dim i As Integer, u As Integer Dim J As Boolean i = 6 u = 5 Do i = i + 1 u = u + 1 Sheets("A").Cells(i, 10) = DateAdd("m", 1, Cells(u, 10)) Loop Until Sheets("A").Range("B13") <= Sheets("A").Cells(i, 10) End Sub として下さい。

siitakekonbu
質問者

お礼

どうもありがとうございました。 感激です。

関連するQ&A