當行中的任何單元格中的值(總是數字格式)發生變化時,我需要宏幫助以通知我(通過將單元格背景顏色更改爲紅色) 。如果單元格F3:AN3中的任何值從其當前值更改,我希望單元格E3的背景更改爲紅色。需要一個宏來檢測單元格值是否從當前值變化
單元格F3:AN3中的數字將手動輸入或通過複製並粘貼該行,並且不會有任何公式。同樣,如果單元格F4:AN4中的任何值發生更改,我希望單元格E4更改爲紅色背景,以此類推爲圖表中的每個行。不是所有的行都會有一個值,所以我會尋找從「」到任何#,或從一個#到另一個#,或從任何#到「」的變化。理想情況下,這將是一個事件宏,不必手動運行。
以下是我已經開始與工作代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F3:AN3")) Is Nothing Then KeyCellsChanged
End Sub
Private Sub KeyCellsChanged()
Dim Cell As Object
For Each Cell In Range("E3")
Cell.Interior.ColorIndex = 3
Next Cell
End Sub
然而,這似乎宏無論在細胞數量是否改變運行,只要我按回車它突出E3紅色。
任何幫助非常感謝!
您是否考慮過開啓追蹤更改? – Marc
無論實際值是否更改,都會觸發change事件,因此處理更新會有點棘手。我建議將「當前」值存儲在表單另一個範圍內或第二個隱藏表單上。事件觸發時,將「已更改」值與第二個範圍內的「原始」值進行比較:如果它們不同,則更改單元格背景。 –
@TimWilliams:我在回答後閱讀你的評論。我們的方法非常接近。偉大的思想! –