在Excel中使用VBA,将单元格行移动到Master

时间:2016-11-01 15:31:37

标签: excel vba

使用VBA,如何在保存之前自动拥有用户,将数据行(不是复制)从其工作表移动到最后一行主数据?

5个单独的表/用户输入相同类型的数据(跟踪他们的编程数据)。用户保存时,需要将其工作表上的数据行移动到主工作表以进行进一步分析。移动后的这些行不应存在于单个工作表中。

先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我的评论可能不太清楚,我的意思是将Cut-Paste作为你的功能的一部分......

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim Master As Worksheet
Dim LastRow_Master As Integer
Dim LastRow_Current As Integer

Set Master = ThisWorkbook.Worksheets("Master")

For Each ws In ThisWorkbook.Worksheets
   If Not ws Is Master Then
      LastRow_Master = Master.Cells(Master.Rows.Count, 1).End(xlUp).Row + 1
      LastRow_Current = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

      If LastRow_Current > 1 Then
         ws.Rows("2:" & LastRow_Current).Cut Master.Rows(LastRow_Master)
      End If

   End If
Next

Application.CutCopyMode = 0

End Sub  

注意:我假设每个工作表在第1行都有一个标题。包括主文件。