如何制作一个宏,将数据传输到另一张工作表,从特定单元格开始,并(在后续调用中)向下进行?

如何制作一个宏,将数据传输到另一张工作表,从特定单元格开始,并(在后续调用中)向下进行?

我在 SHEET1 中有一个数据输入单元格(单元格 B3)。我想制作一个宏代码,当按下宏按钮时,SHEET1 单元格 B3 中的数据将被复制到 SHEET2 单元格 C5,同时删除 SHEET1 单元格 B3 中输入的数据。然后,当我输入另一个数据并再次按下按钮时,数据将被复制到 SHEET2 的下一行,在本例中是单元格 C6。然后是单元格 C7、C8,依此类推。

我尝试为此编写代码,但无法使其从单元格 C5 开始。它总是从单元格 C2 开始,然后向下。我尝试研究“Startrow”之类的代码,但无法使其工作。

请参阅下面的代码:

Sub Button1_Click()
Response = MsgBox("Are you sure?", vbYesNo)
If Response = vbNo Then Exit Sub
Dim nextrow As Long
nextrow = Worksheets("Sheet2").Cells(Rows.Count, "C").End(xlUp).Row + 1
Worksheets("Sheet1").Range("B3").Copy Worksheets("Sheet2").Range("C" & nextrow)
Worksheets("Sheet1").Range("B3").ClearContents
End Sub

答案1

好吧,如果您希望在第一次运行宏时将数据复制到第 5 行,您可以这样做:

子按钮1_点击()
    响应 = MsgBox(“你确定吗?”, vbYesNo)
    如果响应 = vbNo 则退出子程序
    Dim nextrow As Long
    nextrow = 工作表(“Sheet2”)。单元格(Rows.Count,“C”)。结束(xlUp)。行 + 1
→→  如果 nextrow < 5 则 nextrow = 5                                                     ←←
    工作表("Sheet1").范围("B3").复制工作表("Sheet2").范围("C" & nextrow)
    工作表("Sheet1").范围("B3").ClearContents
子目录结束

相关内容