Excel VBA运行入口

我从未在VBA中写过任何东西。 我有一个衡量项目,并进入Excel的规模。 然而,当我称量某物时,它会读取一个读数,然后在称量之间的刻度为空时logging读数。 我试图摆脱D列中的空白阅读。它真的需要发生在电子表格的每一个条目。

如果我手动运行它,此代码工作。 我如何包装它,以便它自动执行? 另外,请仔细解释如何激活代码。 不pipe出于什么原因,我的互联网search都不清楚。

Sub clean_input_data() Dim i As Long With Application .ScreenUpdating = False .DisplayAlerts = False End With With ActiveSheet If .AutoFilterMode Then .AutoFilterMode = False i = .Range("D" & Rows.Count).End(xlUp).row If i < 2 Then MsgBox "No data found, macro exiting" Exit Sub Else With .Range("D1:D" & i) .AutoFilter .AutoFilter field:=1, Criteria1:="<=0.005", Operator:=xlAnd End With End If .UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).Rows.Delete .AutoFilterMode = False End With With Application .ScreenUpdating = True .DisplayAlerts = True End With End Sub 

非常感谢

尝试将以下子例程放在包含测量结果的工作表选项卡中:

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target.Parent.Range("D:D"), Target) Is Nothing Then Application.EnableEvents = False Run "clean_input_data" Application.EnableEvents = True End If End Sub 

我刚才看到大卫的回应,我认为他有一个更好的主意。