簡體   English   中英

VBA通過公式更改單元格值時自動運行宏

[英]VBA Automatically run macro when cell value is changed via formula

在為工作簿使用宏時,我需要幫助。 基本上我有被另一個宏自動添加的行。 每次添加新行時,對應的列如果公式為True / False。 當單元格的“ False”結果自動更新為“ True”時,我希望同一行以一種顏色突出顯示,並且僅此行。 為了進一步解釋,

  • Range(“ B3:K3”)是當單元格(“ O3”)數據更改為“ True”時要突出顯示的行
  • 當列“ O”的特定單元格通過If公式從False變為True時,我有多個行需要此宏才能自動運行
    • 我也有另一個宏,該宏在列表中添加了另一行,因此我無法使用條件格式

所以有時候我想在單元格(“ O19”)自動更改時突出顯示Range(“ B19:K19”)。 注意事項

  • 我正在使用基本上鏈接到單元格(“ S11”)的“自動刷新時鍾”
  • 換句話說,O列中的單元格在說(如果G列中的相應單元格[這是輸入任務的日期]與當前時間相比已超過24小時(單元格“ S11”),則將值更改為False改為True。

我唯一的問題是,我似乎無法獲得一個工作的宏,該宏將突出顯示False / True數據起源的行[Range(B3:K3)] [列O上的對應單元格]。

誰能幫我這個?

編輯這是我要完成的工作,但無法使其正常工作。

Private Sub Worksheet_change(ByVal Target As Range) 
Dim Cl As Range
Dim R As Long
Set Cl = TargetAddress
R = Cl.Row

If Target.Address(, "O") = True Then
Target.Range("B" & R, Range("K" & R)).Interior.ColorIndex = 10
Else: Range("B5:K5").Interior.ColorIndex = 1
End If

結束子

我認為條件格式可以滿足您的要求。

為簡單起見,我假設您的工作表中只有3列和10行。 列A是要突出顯示的列,列C是具有True / False值的列。 首先,選擇a1:a10,單擊條件格式,然后單擊新規則。 單擊下一個窗口中的“使用公式來確定要格式化的單元格”,然后在公式字段中鍵入= C1 = True。 單擊右下角的格式底部以選擇所需的顏色,然后單擊確定以完成作業。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM