将数据从2个工作簿复制/合并到一个主工作簿

时间:2017-12-06 10:52:06

标签: excel vba excel-vba loops commandbutton

我有2个相同的电子表格,由不同的人填写。我试图将他们的单独数据复制到与第一个相同的主电子表格中,但希望将两组数据合并。 我已经设法在我的工作表中设置一个命令按钮“提交”,它将从一个电子表格中复制行,但当另一个人按下“提交”时,它会覆盖其他数据...... 我知道我需要写一个循环,如果但我不能让它工作。

Private Sub CommandButton3_Click()

Application.ScreenUpdating = False

Dim wkb1 As Workbook
Dim sht1 As Worksheet
Dim wkb2 As Workbook
Dim sht2 As Worksheet

Set wkb1 = ThisWorkbook
Set wkb2 = Workbooks.Open("X:\TA Info\MASTER.xlsx")
Set sht1 = wkb1.Sheets("Sheet1")
Set sht2 = wkb2.Sheets("Sheet1")

sht1.Cells.Copy
sht2.Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wkb2.Close True

Application.ScreenUpdating = True

End Sub

我知道这是一个非常独特的问题,但我会感谢任何人有时间提供的指导。

谢谢。

1 个答案:

答案 0 :(得分:0)

你的行

 sht2.Range("A1").PasteSpecial xlPasteValues

始终粘贴到A1范围内,覆盖任何内容。要将数据附加到现有数据下面,请使用

  sht2.Range("A" & sht2.rows.count).End(xlup).offset(1,0).PasteSpecial xlPasteValues

啊 - 但你不能复制一张纸上的所有细胞,除了A1 - 所以我们只需要复制用过的细胞。改变

  sht1.Cells.Copy 

进入

  sht1.UsedRange.Cells.Copy