To your question, as I understand the current script, any time Column H has any change, the script will be enabled to run.
There are occasions where someone will enter a value in Column H and then later determine that they shouldn't have filled in this cell just yet so they will want to delete the contents and move cells A:H back up into the "active" list.
Is it difficult to do this?
-C
Not following the inadvertent filled in column H cell scenario.
Do this to help me follow what steps are to occur to recover from a unwanted column H entry.
On the Ops Notes workbook (from the link you posted) clear all data from row 16 on down.
You have data in cells A3 to G15, and column H is blank from H3 on down. (plus rows 1 & 2 as header rows)
In cell A7 enter "Project 7" as a Category and this will be our test row, call it the P7 row.
Now enter "x7" in cell H7.
The script will move P7 row down to row 15 and all entries are struck through. And the data has been moved up to fill the empty row 7.
Now you realize you did not want to move the P7 row... what exactly should happen now?
Where is P7 supposed to go or what is supposed to happen to it?
Howard
Here is some slightly modified code, the change action cells in column H only go as far as down as the data go in column A. It won't work in rows H1 & H2 and will not work for entries below the last row of data in A to H. If you add or delete data the action cells will adjust to the new range of data.
Delete old code and copy this in its place.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("H3", Cells(Rows.Count, "A").End(xlUp))) Is Nothing Then Exit Sub
Dim hRng As Range
Dim trgRow As Long
Set hRng = Target.Offset(, -7).Resize(1, 8)
trgRow = Target.Row
With hRng.Font
.Strikethrough = True
End With
With hRng
.Cut Range("A" & Rows.Count).End(xlUp)(2)
End With
Sheets("Action Items").Rows(trgRow).EntireRow.Delete
End Sub