我使用以下代码将数组粘贴到工作表中:
Worksheets("Name").Range("B2").Resize(Row, 2).Value = WorksheetFunction.Transpose(TempKey)
直到第30233行才能正常工作,之后所有剩余的值都被粘贴为"#NA"。数组中的值很好,因此粘贴本身就是一个问题。我错过了什么吗?
答案 0 :(得分:4)
要通过直接代码转置,您可以使用这样的简单函数:
Public Function TansP(var As Variant) As Variant
Dim outP() As Variant, i As Long, j As Long
ReDim outP(LBound(var, 2) To UBound(var, 2), LBound(var, 1) To UBound(var, 1))
For i = LBound(outP) To UBound(outP)
For j = LBound(var) To UBound(var)
outP(i, j) = var(j, i)
Next
Next
TansP = outP
End Function
然后您需要的只是Worksheets("Name").Range("B2").Resize(Row, 2).Value = TransP(TempKey)
并且没有......这种方式应该慢得多......;)