excel - VBA 手动移调
问题描述
所以我注意到 Application.transpose 不超过 255 个字符,我的数组包含超过 300 个字符左右。是否有手动或其他方式来转置数组?目前我使用
Function Transpose(arrIn) As String()
Dim arrOut() As String, r As Long, ln As Long, i As Long
ln = (UBound(arrIn) - LBound(arrIn)) + 1
ReDim arrOut(1 To ln, 1 To 1)
i = 1
For r = LBound(arrIn) To UBound(arrIn)
arrOut(i, 1) = arrIn(r)
i = i + 1
Next r
Transpose = arrOut
End Function
但我注意到这只需要一个 1D 数组并将其转置,但我必须能够从 1D 转到 2D 和虎钳。有谁知道如何以有效的方式做到这一点?
更新:这是我目前使用的,但我认为它需要一些改进。
Function Transpose1(arrIn) As String()
Dim arrOut() As String, r As Long, ln As Long, i As Long
ln = (UBound(arrIn) - LBound(arrIn)) + 1
ReDim arrOut(1 To ln)
i = 1
For r = LBound(arrIn) To UBound(arrIn)
arrOut(i) = arrIn(r, UBound(arrIn, 2))
i = i + 1
Next r
Transpose1 = arrOut
End Function
' From one 2 two
Function Transpose2(arrIn) As String()
Dim arrOut() As String, r As Long, ln As Long, i As Long
ln = (UBound(arrIn) - LBound(arrIn)) + 1
ReDim arrOut(1 To ln, 1 To 1)
i = 1
For r = LBound(arrIn) To UBound(arrIn)
arrOut(i, 1) = arrIn(r)
i = i + 1
Next r
Transpose2 = arrOut
End Function
解决方案
推荐阅读
- javascript - 在函数内部返回函数如何工作
- excel - 使用 Maatwebsite 导出 excel 文件时为 foreach() 提供的参数无效
- hadoop - Hadoop 调度程序与 oozie
- python - Tkinter - 在一个类中使用 Button 命令从另一个类调用函数
- c++ - 使用模板方法为标头提供空 cpp 的问题
- webpack - 为什么 Webpack 中没有设置环境
- spring-mvc - Spring Boot 2 的侵入性 AsyncRequestTimeoutException
- python - 在 python 中使用 mplayer 从 websoket 播放音频延迟 4 到 5 秒
- python - 使用 cv2 时关闭 Python 文件
- swift - 将 csv 文件从 Apple Watch 发送到手机 - 没有任何反应