我在Excel中有一個名爲StartDates的命名範圍。指定的範圍只包含日期。下面的代碼示例如下:命名範圍的數據類型
Sub test2()
Dim dat_readdates() As Date
dat_readdates = Range("StartDates").Value
End Sub
這總是導致公告運行時錯誤'13':類型不匹配。
一個簡單的改變,它工作正常。
Sub test2()
Dim var_readdates() As Variant
var_readdates = Range("StartDates").Value
End Sub
是否有一個已知的規則,數據必須作爲變體數據類型讀入?顯然,爲了提高速度,我希望使用最適合讀取數據的數據類型。 我是否需要將它作爲變體讀取,然後使用cDate轉換爲日期類型的另一個變量?我可以做一個質量轉換如:
dat_readdates = cDate(var_readdates)
如果你檢查'Typename(var_readdates(1,1))'',你會得到什麼?如果你的範圍有日期,那麼它應該已經是'日期'了...... –
@TimWilliams,那麼它應該是'Variant/Date',而不是原生VBA'Date'。 OP想與本地變量:) –