使用Macro和ActiveControl Button将数据从一个电子表格复制到另一个电子表格

时间:2017-10-30 06:58:14

标签: excel-vba vba excel

我正在尝试编写一个宏,它会将数据从一个电子表格复制到同一工作簿中的另一个电子表格,并使用Marco分配给一个活动控件按钮。此外,我将按钮在复制到另一个工作表后清除字段中的数据。但是,我正在努力调试此代码。有人可以提供帮助吗?

return

1 个答案:

答案 0 :(得分:0)

基本上,您要做的是以下内容:

Private Sub CommandButton1_Click()
    Worksheets("AssemblyTotals").Range("SomeTargetAddress").Value = Worksheets("Assembly Work Form").Range("SomeSourceAddress").Value 'Copy a value
    Worksheets("Assembly Work Form").Range("SomeSourceAddress").ClearContents 'Clear the original value
End Sub

当然要更改" SomeTargetAddress"和#34; SomeSourceAddress"有效的单元格引用。另请注意,您可以同时执行多个单元格:

Private Sub CommandButton1_Click()
    Worksheets("AssemblyTotals").Range("A2:A100").Value = Worksheets("Assembly Work Form").Range("A2:A100").Value 'Do 99 cells at once
End Sub

如果你想从第一个空行开始:

Private Sub CommandButton1_Click()
    Dim wr as Long 'Variable to store the row
    wr = Worksheets("AssemblyTotals").Range("A2").End(xlDown).Row + 1
    Worksheets("AssemblyTotals").Range("A" & wr).Value = Worksheets("Assembly Work Form").Range("A2:A100").Value 'Do 99 cells at once starting at the first empty row in Column A.
End Sub

除非您打算稍后在更多地方使用这些变量,否则无需先将所有内容存储在变量中。另请注意,您不应该使用我的评论中提到的ActiveCellSelect等。

基于以上所述,您现在要做的就是正确映射单元格并将其映射出来。