查看: 23  |  回复: 0
  VBA代码 数组转置
楼主
发表于 2025年3月18日 10:19
Function f_Transpose(arr As Variant)
    '******转置函数,单列单行数组不会转置为一维的,没有系统255字符的限制******
    '******这里只考虑一维和二维数组 一维数组直接转为单列二维数组
    Dim brr(), i, j, n
    On Error Resume Next
    n = UBound(arr, 2)
    If Err = 0 Then n = 2 Else n = 1    '判断维数
    On Error GoTo 0
    
    If n = 1 Then
        ReDim brr(LBound(arr) To UBound(arr), 1 To 1)
        For i = LBound(arr) To UBound(arr)
            brr(i, 1) = arr(i)
        Next
    Else
        ReDim brr(LBound(arr, 2) To UBound(arr, 2), LBound(arr) To UBound(arr))
        For i = LBound(arr) To UBound(arr)
            For j = LBound(arr, 2) To UBound(arr, 2)
                brr(j, i) = arr(i, j)
            Next
        Next
    End If
    
    f_Transpose = brr
End Function


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2025 MaNongKu.com