我真的不太了解excel尤其是VBA。但我需要写一些东西(例如宏),它可以做到以下几点:
如果有人插入一行并填充它的前4个单元格,则需要对行进行排序(我有一个用于排序的宏称为“sortingmacro”)然后需要通过复制上面的单元格来填充单元格7和8它们。
例如,如果我向第4行插入一行并填充A4,B4,C4和D4,则需要将G3复制到G4,将H3复制到H4。 (课程排序后)
感谢任何帮助。
修改 我在要复制的单元格中有公式。第一行的公式(根据排序的前一个)是不同的公式,所有其他公式都是相同的。
答案 0 :(得分:3)
您可以查看是否已使用Worksheet_Change
- 事件更改了单元格。
Private Sub Worksheet_Change(ByVal Target As Range)
Debug.Print Target.Address
End Sub
输出(类似这样):
$A$14
$B$17
$C$13
$C$21
$C$16
因此,如果更改了匹配的单元格,请在行中查找其他3并启动宏。
答案 1 :(得分:2)
所以在页面上放一个按钮,然后转到它的代码(点击事件)。在那里,使用您的sortingmacro对所有行进行排序。那你就做一些简单的事情:
Rows(4).Cells(1,7).Formula = Rows(3).Cells(1,7).Formula
Rows(4).Cells(1,8).Formula = Rows(3).Cells(1,8).Formula
当然不是硬编码4,而是你有一个变量(确保排序后确定它)。