为了账号安全,请及时绑定邮箱和手机立即绑定

在VBA中转置范围

/ 猿问

在VBA中转置范围

富国沪深 2019-11-19 15:34:32

我正在尝试通过VBA宏在Excel中转置一系列单元格,但出现一些错误,主要是错误91。


我对VBA还是很陌生,对功能也不是很了解。


Range(InRng).Select

Set Range1 = Selection

Dim DestRange As Range

Set DestRange = Application.WorksheetFunction.Transpose(Range1)

经过几个论坛之后,这就是我的想法。需要注意的一件事是,我不必将它们复制到任何其他单元格中。


我要实现的目标是创建一个协方差方法,并且在选项窗口中,用户可以选择范围,然后按列或按行选择,这将影响所得的协方差矩阵。


查看完整描述

3 回答

?
米脂

这使您可以将X和X'作为变量数组传递给另一个函数。


Dim X() As Variant

Dim XT() As Variant

X = ActiveSheet.Range("InRng").Value2

XT = Application.Transpose(X)

要将转置值作为范围,您必须通过此工作表中的答案来传递它。如果不了解协方差函数的工作原理,很难看到所需的东西。


查看完整回答
反对 回复 2019-11-19
?
翻过高山走不出你

这样的事情应该为您做。


Sub CombineColumns1()

    Dim xRng As Range

    Dim i As Long, j As Integer

    Dim xNextRow As Long

    Dim xTxt As String

    On Error Resume Next

    With ActiveSheet

        xTxt = .RangeSelection.Address

        Set xRng = Application.InputBox("please select the data range", "Kutools for Excel", xTxt, , , , , 8)

        If xRng Is Nothing Then Exit Sub

        j = xRng.Columns(1).Column

        For i = 4 To xRng.Columns.Count Step 3

            'Need to recalculate the last row, as some of the final columns may not have data in all rows

            xNextRow = .Cells(.Rows.Count, j).End(xlUp).Row + 1


            .Range(xRng.Cells(1, i), xRng.Cells(xRng.Rows.Count, i + 2)).Copy .Cells(xNextRow, j)

            .Range(xRng.Cells(1, i), xRng.Cells(xRng.Rows.Count, i + 2)).Clear

        Next

    End With

End Sub

您也可以这样做。


Sub TransposeFormulas()

    Dim vFormulas As Variant

    Dim oSel As Range

    If TypeName(Selection) <> "Range" Then

        MsgBox "Please select a range of cells first.", _

                vbOKOnly + vbInformation, "Transpose formulas"

        Exit Sub

    End If

    Set oSel = Selection

    vFormulas = oSel.Formula

    vFormulas = Application.WorksheetFunction.Transpose(vFormulas)

    oSel.Offset(oSel.Rows.Count + 2).Resize(oSel.Columns.Count, oSel.Rows.Count).Formula = vFormulas

End Sub

请参阅此以获取更多信息。


http://bettersolutions.com/vba/arrays/transposed.htm


查看完整回答
反对 回复 2019-11-19

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信