我有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
我知道这是一个非常独特的问题,但我会感谢任何人有时间提供的指导。
谢谢。
答案 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