我在互联网上环顾四周,没有发现成功。我的问题是,我试图将 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
在此处输入代码
我在互联网上环顾四周,没有发现成功。我的问题是,我试图将 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
在此处输入代码
可以用
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
不要以您的方式引用范围,它不会起作用。从“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
sub copy_cells(length as integer)
Worksheets("Sheet2").Range("B2: B" & length).Value = ActiveSheet("Sheet1").Range ("P6:P" & length).Value
end sub
这应该可行 - 如果没有,您可能需要在单独的语句中创建范围变量,然后在上面的语句中使用它。