Excel 简单范围复制问题

Excel 简单范围复制问题,excel,vba,Excel,Vba,我知道我很密集,但我一辈子都找不到一个简单(无剪贴板)复制操作的正确语法: Sheets("B").Range(Cells(X, Y), Cells(X, Y+ 3)).value = _ Sheets("A").Range(Cells(1, Z), Cells(1, Z+ 3)).value 您需要限定单元格的一种或两种用法,以便VBA知道哪些工作表包含这些单元格: Sheets("B").Range(Sheets("B").Cells(X, Y), Sheets("B").Cells(X,

我知道我很密集,但我一辈子都找不到一个简单(无剪贴板)复制操作的正确语法:

Sheets("B").Range(Cells(X, Y), Cells(X, Y+ 3)).value = _
Sheets("A").Range(Cells(1, Z), Cells(1, Z+ 3)).value

您需要限定
单元格的一种或两种用法,以便VBA知道哪些工作表包含这些单元格:

Sheets("B").Range(Sheets("B").Cells(X, Y), Sheets("B").Cells(X, Y+ 3)).Value = _
Sheets("A").Range(Sheets("A").Cells(1, Z), Sheets("A").Cells(1, Z+ 3)).Value

您需要限定
单元格的一种或两种用法,以便VBA知道哪些工作表包含这些单元格:

Sheets("B").Range(Sheets("B").Cells(X, Y), Sheets("B").Cells(X, Y+ 3)).Value = _
Sheets("A").Range(Sheets("A").Cells(1, Z), Sheets("A").Cells(1, Z+ 3)).Value

我将从一个已知的引用(如“A1”)开始,使用
.Offset()
.Resize()
方法“选择”所需的值。这样可以保证获得相同数量的行和列

Sheets("A").Range("A1").Offset(0,Z-1).Resize(1,3).Value = _ 
  Sheets("B").Range("A1").Offset(X-1,Y-1).Resize(1,3).Value
这与工作表中的命名范围结合使用效果最佳

Sheets("A").Range("TableA").Offset(0,X-1).Resize(n,1).Value = _
  Sheets("B").Range("TableB").Offset(0,Y-1).Resize(n,1).Value

要将
n
行从
TableB
X
复制到
TableA
Y
中,我将从一个已知的引用(如“A1”)开始,并使用
.Offset()
Resize()
方法“选择”所需的值。这样可以保证获得相同数量的行和列

Sheets("A").Range("A1").Offset(0,Z-1).Resize(1,3).Value = _ 
  Sheets("B").Range("A1").Offset(X-1,Y-1).Resize(1,3).Value
这与工作表中的命名范围结合使用效果最佳

Sheets("A").Range("TableA").Offset(0,X-1).Resize(n,1).Value = _
  Sheets("B").Range("TableB").Offset(0,Y-1).Resize(n,1).Value

要将
n
行从
TableB
column#
X
复制到
TableA
column#
Y

上,您比我快了4秒。8P@ScottCraner很少有一天我回答问题比你快:)你比我快了4秒。8P@ScottCraner很少有一天我比你更快地回答问题:)