Excel 将特定单元格复制到其他工作表

Excel 将特定单元格复制到其他工作表,excel,vba,Excel,Vba,你好 我正在尝试将特定单元格从一个工作表复制到另一个工作表。在这种情况下,我需要通过点击按钮将第一页的4个单元格(B4、B14、B22、G22)复制到第二页的单元格(R5、R15、R24、W24)中 Private Sub CommandButton1_Click() Sheets("Approver").Select Range("B4").Select Selection.Copy Sheets("Request").Select Sheets("Request").Range("R5").

你好

我正在尝试将特定单元格从一个工作表复制到另一个工作表。在这种情况下,我需要通过点击按钮将第一页的4个单元格(B4、B14、B22、G22)复制到第二页的单元格(R5、R15、R24、W24)中

Private Sub CommandButton1_Click()
Sheets("Approver").Select
Range("B4").Select
Selection.Copy
Sheets("Request").Select
Sheets("Request").Range("R5").PasteSpecial Paste:=xlPasteValues
End Sub

我可以很好地复制第一个字段,但当我尝试执行所有4个字段时,它会返回错误。我想我缺少了一些东西来让它工作?非常感谢您的帮助。

一种方法就像是在地址数组中循环。此外,您还可以直接传输值,比复制和粘贴值的效率略高。另外,尽可能避免
选择

Private Sub CommandButton1_Click()

Dim v1, v2, i As Long

v1 = Array("B4", "B14", "B22", "G22")
v2 = Array("R5", "R15", "R24", "W24")

For i = LBound(v1) To UBound(v1)
    Sheets("Request").Range(v2(i)).Value = Sheets("Approver").Range(v1(i)).Value
Next i

End Sub

谢谢你的帮助。