Go to the VBA IDE (alt-F11), insert a new module, and paste in this code:
You can call it with a command button or assign it to a ctrl-key combo. It starts at the bottom of the sheet, looking for entries with start and end dates. When it finds them, it calculates how many new rows are needed, inserts them, then copy/paste the source row to them. I'm not quite sure what you want to do with the entries at the bottom that don't have start and end dates, and you won't be able to run the macro more than once over the same data set.
The undated entries could be moved to a location lower in the sheet, if you want.
Bookmarks