我想问如何添加、复制并显示在另一张表旁边。例如,我在第 1 行到第 4 行的 A 列中有数据,在 Sheet 1 中有一个保存按钮。当我按下保存按钮时,Sheet 1 中的数据将复制到 Sheet 2 的同一列和行上。
当我有新数据时,它将添加到 Sheet2 下的第 1 行的第 2 行。
数据应该是这样的:
工作表1
Name Address Age Birthdate
工作表2:
Row1:Name Row1:Address Row1:Age Row1: Birth date;
Row2:Name Row2:Address Row2:Age Row2: Birth date
答案1
按照您的要求,我已将工作表 1 的第 2 行设置为数据输入行,每次您需要在第 2 行写入数据时,Excel 都会在现有记录后将新记录添加到工作表 2 中。
然后 Excel 将从工作表 1 中的第 2 行删除新记录,并将单元格指针放在单元格 A2 上,以便您可以写入新记录。
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")
copySheet.range("A2:D2").Copy
pasteSheet.Cells(Rows.count, 1).End(xlUp).offset(1, 0).PasteSpecial
xlPasteValues
Application.CutCopyMode = False
Worksheets("Sheet1").Rows(2).EntireRow.Delete
Range("A2").Select
Application.ScreenUpdating = True
End Sub
注意:在此示例代码中,我使用第 2 行进行数据输入,如果您觉得可以更改它。
答案2
我想向您推荐一组非常简单的 VBA 代码。
每当您单击命令按钮时,它都会将每个新行从工作表 1 复制到工作表 2。
另外,首先复制两张表中的行标题,然后写入新记录,最后单击命令按钮。
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Sheet1").Activate
range([A2], ActiveSheet.UsedRange).Copy
Sheets("Sheet2").Cells(1, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Sheets("Sheet2").Cells.EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
注意:在我的示例代码中,源单元格是 A2,您可以选择您想要的单元格。
答案3
嗨,看起来我找到了答案代码。
我想分享。
Dim nextrow As Long
nextrow = Worksheets("Sheet2").Cells(Rows.Count, "B").End(xlUp).Row + 1
If nextrow < 3 Then nextrow = 3
Worksheets("Sheet1").Range("A2:D2").Copy Worksheets("Sheet2").Range("B" & nextrow)
此处还附有链接路径。 如何制作一个宏,将数据传输到另一张工作表,从特定单元格开始,并(在后续调用中)向下进行?
非常感谢
答案4
针对我的疑问...这是@Rajesh 的回答。谢谢!
私有子命令按钮2_Click()
应用程序.ScreenUpdating = False
Dim copySheet 作为工作表 Dim pasteSheet 作为工作表
Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")
copySheet.range("A2:D2").Copy
pasteSheet.Cells(Rows.count, 1).End(xlUp).offset(1, 0).PasteSpecial
xlPasteValues
Application.CutCopyMode = False
Worksheets("Sheet1").Rows(2).EntireRow.Delete
Range("A2").Select
应用程序.ScreenUpdating = True
子目录结束