复制一个excel的整个列到另一个取决于单元格值的变化

我的要求是每当有更新我的主要工作簿(main.xlsm)sheet1“A1”单元格,我需要将整行数据复制到不同的Excel(如working.xlsm)。 主表有从A到M的列,并且应该发生数据捕获取决于A1单元格数据改变。 所有数据都保存在第二个Excel中,所有新数据将被添加到下一行。

我已经添加了下面的代码到我的第二个工作簿(working.xlsm),我需要保存所有的数据,但它不工作。 我不知道如何使用withfunction的范围

 Private Sub Worksheet_Calculate() With Sheet1 With .Cells(.Rows.Count, "B").End(xlUp) If .Value <> Workbooks("main.xlsm").Worksheets("Sheet1").Range("A1").Val‌ue Then .Offset(1).Value = Sheet1.Range("A:M").Value End If End With End With End Sub 

如果将代码放在main.xlsm的表单中,只要工作表的A1被更改,就将main.xlsm的A1:M1复制到working.xlsm Sheet1的第一个空行。 这里假定working.xlsm当前也是打开的,以供参考。

 Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Set ws = Workbooks("working").Sheets("Sheet1") If Not Intersect(Target, Range("A1")) Is Nothing Then Range("A1:M1").Copy ws.Range("A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1).PasteSpecial xlPasteValues End If End Sub 

这是你在找什么?