返回列表 上一主題 發帖

利用Find找日期,出現錯誤!!

回復 10# hugh0620

誠如GBKEE超級版主所言,
Find之所以出現問題,
是因為你尋找的範圍沒有資料,
Find找不到你變數K的值,
你應該要修改一下[AB10:AM10000]的範圍。

另外,你Find的值導向 TE01 這個變數,
但是這個變數再後面也都沒有再出現,
所以是有點摸不著頭緒。

如果你需要其他協助,
建議你可以把你的整個邏輯跟目的跟版上熱心大大們分享,
我相信你可以得到很好的回饋的!

祝你順心 : )

TOP

回復 14# hugh0620

抱歉,我稍微整理以上各位大大表述的意見。

Find函數如果該範圍找不到你的目標的時候,
函數會回饋「Nothing」,
而既然Set A = Nothing,
當然A就不會有Row的屬性,
所以程式才會跳錯,
這就是你問題的所在。

所以為了避免這個問題,
在執行 A = A.Offset(0, 0).Row 之前先檢查A是否存在,
若不存在則跳出訊息並停止程式運作。
  1. Set A = 工作表7.Range("G3:G10000").Find(ST)
  2. If A Is Nothing Then
  3.     MsgBox "A部分輸入的日期不存在": Exit Sub
  4. Else
  5.     A = A.Offset(0, 0).Row
  6. End If

  7. Set B = 工作表7.Range("G3:G10000").Find(ED)
  8. If B Is Nothing Then
  9.     MsgBox "A部分輸入的日期不存在": Exit Sub
  10. Else
  11.     B = B.Offset(0, 0).Row
  12. End If
複製代碼

TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題