如何将一系列数据从一张纸转换到另一张纸

时间:2019-02-07 19:30:57

标签: excel vba

我相信我从第二个工作表中正确地解决了我需要的范围,但是我不知道粘贴的位置/工作方式。我正在尝试粘贴到另一个工作表。

Sub Click()
    Dim rng As Range
    Dim dat As Variant

    With Worksheets(2) 
        Set rng = .[d31:o31] 
        dat = rng 
        rng.Clear 


        .Range(rng.Cells(1, 1), Cells(rng.Row, rng.Rows.Count)) = Application.Transpose(dat)
    End With

End Sub

1 个答案:

答案 0 :(得分:2)

使用数组的上边界确定目标的大小。

明确的父级工作表引用将有助于确定适当的范围引用。

Sub Click()

    Dim dat As Variant

    With Worksheets(2) 

        with .range(.cells(31, "D"), .cells(31, "O"))
            dat = .value
            .Clear
            .Cells(1, 1).resize(ubound(dat, 2), ubound(dat, 1)) = _
                Application.Transpose(dat)
        end with

    End With

End Sub

.range(.cells(31, "D"), .cells(31, "O"))中,.Cells(1, 1)是工作表上的.cells(31, "D")