I found that this code does not actually work if there is more than one tab in a given line. Reason being that a tab is only viewed as one character so it screws up the math when it gets to the second tab in the line. I modified the code so that after it finds and corrects the first tab, it then rebuilds the line and starts checking for tabs again from the beginning. Here is the code:

Function FillInTabs(Text In As String, Optional...