2016-11-01 5 views
0

VBAを使用して、保存する前にユーザーのシートからマスターの最後の行にデータの行を移動(コピーではない)する方法を教えてください。ExcelでVBAを使用すると、セルの行をMasterに移動します

個々のシート/ユーザーが同じタイプのデータを入力する(プログラミングデータを追跡する)。ユーザーが保存する際には、シート上のデータ行をさらに分析するためにマスターシートに移動する必要があります。一度移動されたこれらの行は、個々のシートに存在してはなりません。

ご協力いただきありがとうございます。

私のコメントは、私はカット&ペーストをこのようなあなたの機能の一部を意味するもので、明確ではなかったかもしれない
+0

SAVE/SAVE ASコマンドをインターセプトできますか? – FDavidov

+0

オプションを切り取って貼り付けますか? –

+0

お返事ありがとうございます。 – Jay

答えて

1

...

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リード - ありがとう! – Jay

関連する問題