我的需求是每当我的主工作簿(main.xlsm)sheet1“A1”单元有更新时,我需要复制整行数据转换成另一个excel(比如working.xlsm)。主表有从A到M的列,并且数据捕获应取决于A1单元格数据更改。所有数据都保存在第二个excel中,所有新数据将被添加到下一行。将excel的整个列复制到另一个取决于单元格值的更改
我已将下面的代码添加到我的第二个工作簿(working.xlsm)中,我需要保存所有数据,但它不起作用。我不知道如何使用范围与with
功能
Private Sub Worksheet_Calculate()
With Sheet1
With .Cells(.Rows.Count, "B").End(xlUp)
If .Value <> Workbooks("main.xlsm").Worksheets("Sheet1").Range("A1").Value Then
.Offset(1).Value = Sheet1.Range("A:M").Value
End If
End With
End With
End Sub
嵌套语句是不必要的。只需使用'With Sheet1.Cells(Sheet1.Row.Count,“B”)。End(xlUp)'。你也没有定义Sheet1 – sourceCode
你也必须打开“main.xlsm”工作簿来引用它,就像那样 – sourceCode
如果你正在观看主工作簿中发生的变化,你应该把这个代码放在里面。 –