運行下面的代碼可以在一個作業簿中運行,但不能在另一個作業簿中運行,我不知道為什么!錯誤行是 For d = DateSerial....

For Each dateKey In Json
For d = DateSerial(Year(dateKey("dateFrom")), Month(dateKey("dateFrom")), Day(dateKey("dateFrom"))) To DateSerial(Year(dateKey("dateTo")), Month(dateKey("dateTo")), Day(dateKey("dateTo")))
'Petrol
ws.Cells(i, 1) = d
ws.Cells(i, 2) = dateKey("petrol_1400")
ws.Cells(i, 3) = dateKey("petrol_2000")
ws.Cells(i, 4) = dateKey("petrol_9999")
'Diesel
ws.Cells(i, 6) = d
ws.Cells(i, 7) = dateKey("diesel_1600")
ws.Cells(i, 8) = dateKey("diesel_2000")
ws.Cells(i, 9) = dateKey("diesel_9999")
'LPG
ws.Cells(i, 11) = d
ws.Cells(i, 12) = dateKey("lpg_1400")
ws.Cells(i, 13) = dateKey("lpg_2000")
ws.Cells(i, 14) = dateKey("lpg_9999")
i = i 1
Next d
skipDate:
Next
以下是我用于此檔案的參考:

這是作業手冊中的參考

作業作業簿是撰寫模塊的地方 - 它不作業的作業簿已構建為在打開時檢查代碼更新,然后拉入任何新模塊/更新模塊并運行任何預定義的代碼以運行。有誰知道為什么我會收到此錯誤以及為什么它在一個簡單的 for 回圈中?
uj5u.com熱心網友回復:
將 d 定義為 Date 型別
dim d as date
,這解決了問題
uj5u.com熱心網友回復:
我認為您可能會從導致此錯誤的 JSON 中回傳一個空值。如果你運行這段代碼,你會得到同樣的錯誤:
a = DateSerial(2022, 1, 27)
Debug.Print (a)
a = DateSerial()
Debug.Print (a)
如果是這樣,您將需要在 If dateKey = null 中編碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/422131.html
標籤:
上一篇:如何在列為空時將值粘貼到列中,當列不為空時將列中的值粘貼到右側?
下一篇:選擇帶變數的表格范圍
