2016-11-01 5 views
0

Использование VBA, как я могу автоматически загружать пользователей перед сохранением, перемещать (не копировать) строки (ы) данных со своего листа на последнюю строку мастера?Использование VBA в Excel, перемещение строк ячеек в мастер

5 отдельных листов/пользователей, вводящих данные того же типа (отслеживание их данных программирования). Когда пользователь сохраняет данные, их строки данных на их листе должны быть перемещены в мастер-лист для дальнейшего анализа. Эти строки после перемещения не должны существовать на отдельном листе.

Благодарим вас за помощь.

+0

Вы можете перехватить команду SAVE/SAVE AS? – FDavidov

+0

Вырезать и вставить опцию? –

+0

Спасибо за ответы. – Jay

ответ

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. В том числе Мастер.

+0

J Reid - Спасибо! – Jay

Смежные вопросы