复制不同的纸张,使它们成为一张纸

时间:2012-10-09 20:00:26

标签: excel excel-vba vba

我有两张纸1和2.在表1中我有一个浏览文件的按钮并将其粘贴到第二张纸上,所以我需要帮助才能浏览第二张纸并能够将其粘贴到表2中已经存在的第一个。我将非常感谢您的帮助

Sub hh()
'
' hh Macro
'

'
    Range("A1:A11").Select
    Selection.Copy
    Sheets("Sheet1").Select
    Range("B19").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=9
    Sheets("Sheet2").Select
    Range("A2:A5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet1").Select
    Range("B30").Select
    ActiveSheet.Paste
End Sub

我手动重新编码此代码

1 个答案:

答案 0 :(得分:0)

注意:此答案适用于Sub hh的原始问题,该问题已经过编辑以创建新问题

首先,您的原始代码可以重写为:

Sub hh()

Sheets("Sheet2").Range("A1:A11").Copy
Sheets("Sheet1").Range("B19").Paste
Sheets("Sheet2").Range("A2:A5").Copy
Sheets("Sheet1").Range("B30").Paste

End Sub

现在您可以根据我认为您要问的“最后一行”修改粘贴位置。最后一行可以这样找到:

(在线评论)

Sub hh()

'Varible to store the last row in
Dim iLastRowSheet1 As Long

'copy initial data to memory
Sheets("Sheet2").Range("A1:A11").Copy

'find current last row
With Sheets("Sheet1")
    iLastRowSheet1 = .Range(B & .Rows.Count).End(xlUp).Row
End With

'paste using last row found + 1
Sheets("Sheet1").Range("B" & (iLastRowSheet1 + 1)).Paste

'repeat
Sheets("Sheet2").Range("A2:A5").Copy
With Sheets("Sheet1")
    iLastRowSheet1 = .Range(B & .Rows.Count).End(xlUp).Row
End With
Sheets("Sheet1").Range("B" & (iLastRowSheet1 + 1)).Paste

End Sub