返回列表 上一主題 發帖

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

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

Dear 大大
         
           對於Find的使用,經常還是會卡卡的,
           經常需要計算生產區間的工作天,所以,會常使用到Find,
           確定生產開始與結束的日期,再進行分析。
           
           所以,有沒有大大可以有資料或範本能更清楚的說明Find的正確使用方式,
           避免會卡到這個問題。
           
            下圖是執行上的錯誤。
             並附上檔案,請大大協助解決。
            
             FIND_的應用問題.zip (103.31 KB)
學習才能提升自己

回復 2# linyancheng


    所以,要設定哪個變數呢??  該如何設定呢??
學習才能提升自己

TOP

回復 4# hcm19522


    感謝!!  但需要的是程式碼的解決。  (因不止只有解決一筆,而是N筆資料。)
學習才能提升自己

TOP

回復 6# hcm19522

           再次感謝!!

          但需要的是程式碼的解法,非函數的解法。
          資料是持續的更新,筆數不一定,不考慮用函數來解決這個問題。
          這個部分,僅是我整個架構一部分要解決的問題,所以,會考量到檔案大小的問題。
學習才能提升自己

TOP

回復 8# naruto018


          問題清楚!!

          之前測試時,在RUN的時候是沒有問題,現在要把工具在做一些調整後,
          就發生這個Nothing的問題出來,有試著在程式碼修改,但試完還是錯誤,
          不知道該如何修正這個問題。
學習才能提升自己

TOP

回復 13# a5007185


      嗨!! 你可能誤解了, 提供的檔案,是針對我一開始PO的文,
              A、B的部分在執行的過程中產生錯誤,而非去討論下半段資料的範圍。
              A、B的資料是有的,但還是發生錯誤。
              因為,在每次撰寫FIND時,這個問題一直重複性的發生。
              
              下半段的部分,只是最初我在測試統計區間資料時,在同一個SHEET做簡單的模擬,
              後來,工具做好後,沒有再去修正這個部分!!
              
              其實設計的邏輯,就如同程式碼的內容,主要是:統計區間的工作天數!!         
              後害塞到每一筆資料中(開始日、結束日)。 這個部分就下是半段的部分,這個是沒有問題的!!
學習才能提升自己

TOP

回復 12# doom834


          嗨,謝謝你的提醒, 不加入is nothing 是故意的,
                  為什麼不加入,由於,在計算生產的負載情況,不能計算錯誤,
                  情願讓程式在跑時候,發現錯誤,無法執行下去,使用者就會反應!!
學習才能提升自己

TOP

回復 15# a5007185

          嗨!!    可能還是沒有清楚提問的問題!!
                  
                   問題點:資料有,但卻發生找不到資料的問題。
                  
                   而非是探討,資料沒有時的處置!!
學習才能提升自己

TOP

FIND_的應用問題_已經修正.zip (104.04 KB)
                              
                               同一樣的檔案,相同A、B的設定,下半段做了小調整,整個程式是可以被執行的。
                               但我還是不能理解的是,為什麼當初A、B會出現Nothing (但資料上明明有),
                               我後來的處理是,把
                                Set A = 工作表7.Range("G3:G10000").Find(ST)   <=不動
                                       A = A.Offset(0, 0).Row             <=A改成A01,A01 = A.Offset(0, 0).Row
                               重新RUN,就可以RUN,A也沒有再發生Nothing的情況。
                               然後,A01 = A.Offset(0, 0).Row 又改回A = A.Offset(0, 0).Row
                               試著在run,也沒有發生問題。
                              
                               雖是,問題被解決,但我還是不了解,到底是怎麼回事,
                               是哪個環節、或是設定上的需要如何調整!!
                               這是我疑惑的地方,有請大大指教!!
學習才能提升自己

TOP

本帖最後由 hugh0620 於 2018-8-3 15:22 編輯
G欄資料格式是自訂而非日期,Find時會當成字串來比,但你傳入Find的ST是Date,所以找不到 ...
stillfish00 發表於 2018-8-3 10:38


        
應該不是這個問題,如果是這個問題,我應該要去調整D欄位的格式,但我並沒有這樣子處理,
僅是在程式碼上做修正而已。

如果有比較好的處理方式,我都有提供檔案,可以進行修改及測試。
  
還是比較想了解,哪個環節出了錯誤!!
學習才能提升自己

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題