I'm not sure from your description exactly what should happen, but your
description sounds pretty much like what the code does.
What constitutes "the current row"? You have a loop here that looks at all
rows down to the bottom filled row. I suppose each of those rows will be
current for a moment, but is that what you mean?
Where does the data come in? What runs the macro?
You need to step through the scenario in detail saying what the data feeder
might do and then what the macro needs to do when it is run. Use an
example, not just words.