0

我在互联网上环顾四周,没有发现成功。我的问题是,我试图将 P6 到 P(传递给子的整数的值)的范围从第一个工作表复制到第二个工作表的值 B2 到 B(传递的值):


sub copy_cells(length as integer)

Worksheets("Sheet2").Range("B2: B+length").Value = ActiveSheet("Sheet1").Range   ("P6:P+length").Value

end sub

在此处输入代码

4

3 回答 3

0

可以用

Worksheets("Sheet2").Range(Worksheets("Sheet2").Cells(2, 2), Worksheets("Sheet2").Cells(length, 2)).Value
 = 
 Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(2, 16), Worksheets("Sheet1").Cells(length, 16)).Value 
于 2013-05-08T17:29:36.360 回答
0

不要以您的方式引用范围,它不会起作用。从“B2”开始作为您的目标范围,然后将其调整为适当的长度。

Sub copy_cells(length As Integer)
Dim outRange As Range
Dim inRange As Range

    Set outRange = Worksheets("Sheet2").Range("B2")
    Set inRange = Worksheets("Sheet1").Range("P6")

    Set outRange = outRange.Resize(length)
    Set inRange = inRange.Resize(length)

    outRange.Value = inRange.Value

    Set outRange = Nothing
    Set inRange = Nothing
End Sub
于 2013-05-08T17:54:53.823 回答
0
sub copy_cells(length as integer)

Worksheets("Sheet2").Range("B2: B" & length).Value = ActiveSheet("Sheet1").Range   ("P6:P" & length).Value

end sub

这应该可行 - 如果没有,您可能需要在单独的语句中创建范围变量,然后在上面的语句中使用它。

于 2013-05-08T17:55:32.003 回答