返回列表 上一主題 發帖

[發問] Application.Transpose() 可以處理資料轉置的陣列長度 ?

回復 1# Scott090
確實transpose有陣列大小限制,
可以自己寫轉置的Function:
  1. Function MyTranspose(arInput)
  2.   Dim i As Long, j As Long
  3.   Dim arRetn
  4.   
  5.   If LBound(arInput) <> 1 Or LBound(arInput, 2) <> 1 Then Err.Raise vbObjectError + 9999, , "The low bound of input array should be 1."
  6.   
  7.   If UBound(arInput) <= 65536 And UBound(arInput, 2) <= 65536 Then
  8.     MyTranspose = Application.Transpose(arInput)
  9.   Else
  10.     If UBound(arInput, 2) = 1 Then
  11.       ReDim arRetn(1 To UBound(arInput))
  12.       For i = 1 To UBound(arInput)
  13.         arRetn(i) = arInput(i, 1)
  14.       Next
  15.     Else
  16.       ReDim arRetn(1 To UBound(arInput, 2), 1 To UBound(arInput))
  17.       For i = 1 To UBound(arInput)
  18.         For j = 1 To UBound(arInput, 2)
  19.           arRetn(j, i) = arInput(i, j)
  20.         Next
  21.       Next
  22.     End If
  23.     MyTranspose = arRetn
  24.   End If
  25. End Function
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題