我一直在嘗試調換一個數組以將記錄從ADODB.recordset粘貼到excel行。 (記錄存儲在2D Variant數組中)。但是,每當我嘗試類似下面代碼的第一行時,就會得到13:類型不匹配錯誤代碼。因此,我試圖深入瞭解錯誤所在,並構建了一個簡單的整數2d數組。看起來轉置函數不能在不拋出13錯誤代碼的情況下進行這種轉置。在線研究似乎表明,這種錯誤是由於轉置的元素數量超過64k而引起的,但這不可能低於此值。有什麼想法嗎?vba轉置類型不匹配錯誤
varRecords = rs2.GetRows(3) ' rs2 is a ADOBD.Recordset
intNumReturned = UBound(varRecords, 2) + 1
intNumColumns = UBound(varRecords, 1) + 1
For intRow = 0 To intNumReturned - 1
For intColumn = 0 To intNumColumns - 1
Debug.Print varRecords(intColumn, intRow)
Next intColumn
Next intRow
Dim Destination As Range
Set Destination = Range("k1")
Dim i, j As Integer
'Destination.Resize(UBound(varRecords, 2) + 1, UBound(varRecords, 1) + 1).Value = Application.Transpose(varRecords) - COMMENTED OUT BECAUSE IT ERRORS TYPE 13 TYPE MISMATCH
Dim myarr(3, 4) As Integer
myarr(0, 1) = 4
myarr(2, 4) = 6
Dim myvar As Variant
Set myvar = Application.Transpose(myarr) ' - ERROR THROWN HERE
刪除'Set'關鍵字:'myvar = Application.Transpose(myarr)' –
如果您正在尋求第一行的幫助,您應該爲此問題添加更多信息。否則,發佈的答案是正確的,應該被接受。對於註釋的代碼,如果你顯示'varRecords'如何實例化,賦值和它的維度,那麼它可能會有幫助。還請指出您在該行上獲得的具體錯誤消息。乾杯。 –
好的,將編輯現有的問題 – chrisc