Hi everyone,

I need to set up Cell C4 on my sheet to convert data entered to this format:

If a 1 is entered, it would convert to 0010.
A 9 would equal 0090.
15 = 0150
46 = 0460
320 = 3200
9-46 = 0090-0460
15-320 = 0150-3200
0700 = 0700

As you can see, it basically needs to convert any three-digit number or less to a four-digit format, with a 0 at the end and 0's at the front as required.

Now, I have this half-way working with this formula which romperstomper helped me with here.

For Each rngCell In Intersect(Target, rngMonitor).Cells
            If Val(rngCell.Text) > 0 Then
                If Len(rngCell.Text) < 4 Then
                    rngCell.Value = Right("000" & rngCell.Text, 3) & "0"
                ElseIf Len(rngCell.Text) > 4 Then
                    MsgBox "Entry is too long!"
                    rngCell.ClearContents
                End If
            End If
        Next rngCell
This has been working great if only one number was entered, but now I've come across the problem where sometimes a '-' will need to be used to specify a range of numbers, such as 0090-0460. How could this current code be altered to check each 'group' of numbers, and if they are not already entered in the correct format, change them to the four-digit format as shown above?