【发布时间】:2019-10-02 22:12:50
【问题描述】:
我试图让我的电子表格在插入新行时自动采用之前的行格式和公式。
我阅读了您可以在哪里设置工作表以在进行更改时自动运行代码,但我很难让代码正常工作。
我尝试了以下方法,每次插入新行时,它都会不断添加一行,直到出现错误,我必须强制退出:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Range("A1:D25") = ActiveCell.EntireRow.Insert Then
Cells(1, 2).Value = 10
End If
End Sub
我添加了Cell Value = 10 看看它是否有效。这只是一个测试,但仍然失败。
有人知道可能的解决方案吗?
【问题讨论】:
-
这是看起来应该可以工作但以一种有趣的方式中断的事情之一。我不是 100% 确定它在那个 If 语句中做了什么......当你说“插入新行”时,你的意思是你在新行上附加了一些数据,在表格的更下方,或者你实际上是右键单击插入新行?在任何一种情况下,如果带有数据的最后一行向下移动,您可以在每个 worksheet_change 之后放置一个检查最后一行的事件,并将其附加到 / 检查包含 prev 的隐藏工作表中的值。最大行,如果是更高的值则运行