1.在EXCEL底部的sheet1标签上点鼠标右键,选"查看代码",调出sheet1的代码窗口.
2.将下面代码粘贴进去:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Sheets("sheet2").Range("a1") = Target
End Sub
3.同样,回到EXCEL窗口,在sheet2表的底部标签上用右键"查看代码"
4.调出sheet2的代码窗口,输入下面代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Sheets("sheet1").Range("a1") = Target
End Sub
5.
完成
回到EXCEL窗口后就可以使用了.
可以看到,这两段代码基本相同,不同的地方是代码的第二行的中间部分,分别引用了对方的工作表名字.
代码的含义是,当工作表(sheet1或sheet2)中的内容改变时,并且改变的单元格是A1单元格时,代码自动将改变的内容写入到另一个工作表的A1单元格.
以你现在的例子
售后这张表的a2单元格输入
=if(row(a1)>countif(销售!$E:$e,"维修"),""index(销售!a:a,small(if(销售!$E$1:$E$9="维修",row(a$1:a$9),4^8),row(a1)))&"")
公式是数组公式,输入后,不能回车,需要按ctrl+shift+回车,然后公式右拉到F2
然后中选中a2:f2
下拉填充公式。
这是适用于你的现在的例子,如果销售表数据会增加,那将公式中的数字9,修改为你实际最多可以达到的行数。
公式不行吗。=就可以同步啊。