Two things...
First, you can't use the Change event as your posted code shows because the
change in the AutoCorrect won't take place at the right time. Using the
Change event means that each time you enter Column E, the first change you
make into a cell in that column won't have the "dot to colon" AutoCorrect
replacement available (the replacement won't be installed into AutoCorrect
until *after* the entry is complete; hence, it won't go back and change the
just completed entry as it is no longer being typed). Worse yet, if you
switch to a different column *after* making a **single** (first) entry in
Column E, the entry in that new column will have the "dot to colon"
replacement feature active (the first entry turns it on for the next entry
and that second entry, being in a different column than E, won't turn it off
until *after* the entry has been completed). You must use the
SelectionChange event to get the functionality to stick to the selected
column. I'm assuming you meant that and just typed your code into your
message off the top of your head, but I wanted readers of the thread to
understand why the Change event was the wrong one to use.
Second, the reason why I used the SheetSelectionChange event in the workbook
module is because if you use the SelectionChange event in the relevant
worksheet module, that event will not be activated when you switch to a new
worksheet. So, if you enter Column E and then switch to another worksheet,
whether you make an entry in Column E or not (remember, we are using the
SelectionChange event, not the Change event), the AutoCorrect "dot to colon"
replacement will be active for that entire sheet... actually, for the rest
of the workbook until you return to Column E on the (relevant) worksheet,
and move to a different column on that relevant worksheet.