Excel 触发宏

标签 excel vba events triggers

我正在努力执行以下操作。任何帮助将不胜感激。

宏仅与一个 Excel 工作表相关。

我有 50 行信息,11 列宽 (A - K) A 列的每一行都有一个 IF 条件 如果 IF 条件标记单词“OK” 我想要触发一个宏,并执行以下操作 复制单元格 B 到 K 中的信息,并将其特殊粘贴回这些单元格中。

然后移动到下一行

50 行信息将在一天内填满。

A 列中的每个 ROW 条件仅执行一次,从第 1 行开始一直到第 50 行

触发事件“OK”将会到来,只需等待它发生即可。

正如我所说,任何帮助将不胜感激

最佳答案

利用sheet的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

关于Excel 触发宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/864115/

相关文章:

windows - 从excel中删除大量行

vba - 尝试使用处理来捕获运行时错误 -2147188160 (80048240)

c# - 如何用计时器引发事件?

javascript - 如何在页面加载时自动触发按钮单击

c# - 事件后线程未完成

Excel日期舍入计算

excel - 在 Excel 自定义函数中将 NOW() 作为参数传递会产生 #VALUE!错误?

excel - 范围内的 VBA 字数

c# - 为什么在 Excel 中比较 1<' 或将任何数字与带有 < 的任何文本进行比较结果为真?

excel - VBA:网页抓取并在 Excel 电子表格中显示结果