Hi JLC,

This probably isn't the greatest code, but it should do what you're asking, at least for the characters /, - and (
Sub Proper_Case_Inner(Optional mySelection As String)
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Dim cell As Range
    Dim rng As Range
    On Error Resume Next   'In case no cells in selection
    If mySelection = "" Then Set rng = Selection Else Set rng = Range(mySelection)
    For Each cell In Intersect(rng, rng.SpecialCells(xlConstants, xlTextValues))
        cell.Formula = Replace(cell.Formula, "/", "/ ")
        cell.Formula = Replace(cell.Formula, "-", "- ")
        cell.Formula = Replace(cell.Formula, "(", "( ")
        cell.Formula = StrConv(cell.Formula, vbProperCase)
        cell.Formula = Replace(cell.Formula, "/ ", "/")
        cell.Formula = Replace(cell.Formula, "- ", "-")
        cell.Formula = Replace(cell.Formula, "( ", "(")
......
This will append a space after each of those symbols, then do your conversion to proper case, then remove those added spaces.