Hi,
I am glad it hepled.
I do not really see the point to react on any changes out of column G (the three special cases are all about some change in column G). So may be you could narrow the field here:
If Intersect(Target, Range("A6:K" & Cells(Rows.Count, "A").End(xlUp).Row)) Is Nothing Then Exit Sub
for instance to
If Intersect(Target, Range("G6:G" & Cells(Rows.Count, "A").End(xlUp).Row)) Is Nothing Then Exit Sub
Once you do it (or even if not) here
If Not Intersect(Target, Range("G2:G" & Cells(Rows.Count, "D").End(xlUp).Row)) Is Nothing Then
you start from G2. If the changed range is simply G2 this part will never be executed, because of the first checking whether target intersects with G6:G_last_
So it is probably right to write:
If Not Intersect(Target, Range("G6:G" & Cells(Rows.Count, "D").End(xlUp).Row)) Is Nothing Then
if you do not expect that
Cells(Rows.Count, "D").End(xlUp).Row
is different (lower row number) than
Cells(Rows.Count, "A").End(xlUp).Row
which is checked just at the beginning you could change also this part.
Bookmarks