Gavin, I must confess I'm struggling to follow what it is you want to do ...
However, before doing anything... remove all lines in the Change event where you have either of:
Re-insert the False command line once at the very beginning of the Routine (ie pre IF test)
Re-insert the True command line once at the very end of the Routine prior to the End Sub statement.
If you want:
in R1C1 notation then based on the Change event:
If you opt to paste just the result to Column G (.value = .value) then you will need to ensure the above fires whenever any value that may impact the result alters... so if D changes the above must calculate also not just when F changes as is presently the case.
Disclaimer: I've not sanity checked or reviewed any other code...
Bookmarks