作者niwat (原來如此)
看板Visual_Basic
標題[VBA ] 第一次執行讀不到新輸入的資料
時間Thu Sep 19 14:11:56 2024
問題如下, cell A1, A2 是之前已經輸入的資料, vba macro讀取正常
開檔後新增A3
A1 1
A2 2
新輸入資料 =>A3 3
存檔後執行vba macro, 讀取cells(3,1).value, 讀到的是空字串
結束vba macro, 再重新執行vba macro就可以得到
cells(3,1).value 的正確值 3
雖然說重新執行就可以正確讀取
不過有沒有辦法可以一次就成功讀取?
PS. 有試過讀值前放DoEvents(), 不過沒有幫助
有google過, 中文英文都試過, 但可能因為關鍵字不正確
沒有搜尋到有用的資訊
PS2, 實際上的檔案資料大約在1000 x 50 cells左右
之前操作小資料的時候沒有發現有這樣的問題
補充:
查了一些資料後, 用了以下的方式目前看起來沒問題了
在讀取儲存格之前先跑以下的指令
DoEvents
A = Application.CalculationState
Main.LB_log.AddItem(A)
DoEvents
似乎就沒有缺失新輸入儲存格資料的問題了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 137.132.207.122 (新加坡)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1726726318.A.848.html
※ 編輯: niwat (137.132.196.163 新加坡), 11/05/2024 16:11:20