我正在努力实现以下目标。任何帮助将不胜感激。
marco只涉及一个excel工作表。
我有50行信息,11列宽(A - K) 在A列的每一行中都存在IF条件 如果IF条件标记单词'OK' 我想要一个宏来触发,并执行以下操作 将单元格B中的信息复制到K,然后将其特殊粘贴回这些单元格中。
然后转到下一行
50行信息将在一天内填满。
A列中的每个ROW条件仅执行ONCE,从ROW 1开始,然后一直运行到ROW 50
触发事件'OK'将会出现,只需要等待它发生。
正如我所说,非常感谢任何帮助
答案 0 :(得分:2)
使用工作表的Change事件,查看目标是否在A列中。 如果检查它是否等于'OK',则执行该行上的宏。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
Dim TestRange As Range
Set TestRange = Target.Dependents
If TestRange.HasFormula And Err.Number = 0 Then
If Left$(TestRange.Address, 2) = "$A" Then
Application.EnableEvents = False
If TestRange.Value = "OK" Then
Call GreatMacro(TestRange)
End If
Application.EnableEvents = True
End If
End If
End Sub
答案 1 :(得分:2)
This page显示如何设置宏以在单元格更改上运行 基本上,该方法是过度使用工作表更改功能,如果单元格是正确的,则让该函数运行。
尽量在if-this-is-correct-cell检查中保留尽可能多的内容,以确保每次更改工作表时都不会执行太多代码。