使用VBA,如何在保存之前自动拥有用户,将数据行(不是复制)从其工作表移动到最后一行主数据?
5个单独的表/用户输入相同类型的数据(跟踪他们的编程数据)。用户保存时,需要将其工作表上的数据行移动到主工作表以进行进一步分析。移动后的这些行不应存在于单个工作表中。
先感谢您的帮助。
答案 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行都有一个标题。包括主文件。