Option Explicit
Sub NoLeadHyphen()
Dim strFirst As String
Dim strScnd As String
Dim strThrd As String
Dim strInvert As String
Dim iBegin As Integer
Dim iEnd As Integer
Dim c As Range
Dim lRow As Long
lRow = Range("B65536").End(xlUp).Row
For Each c In Range(Cells(2, 2), Cells(lRow, 2))
With c
iBegin = InStr(1, Trim(.Text), "-")
iEnd = InStrRev(Trim(.Text), "-", Len(Trim(.Text)) - 1)
strFirst = Left(Trim(.Text), iBegin - 1)
strScnd = Mid(Trim(.Text), iBegin, iEnd + 1 - iBegin)
strThrd = Right(Trim(.Text), Len(.Text) - iEnd)
End With
strInvert = strThrd & strScnd & strFirst
c.Offset(0, 1).Value = strInvert
Next
End Sub
Sub WithLeadHyphen()
Dim strFirst As String
Dim strScnd As String
Dim strThrd As String
Dim strInvert As String
Dim iBegin As Integer
Dim iEnd As Integer
Dim c As Range
Dim lRow As Long
lRow = Range("B65536").End(xlUp).Row
For Each c In Range(Cells(2, 2), Cells(lRow, 2))
With c
iBegin = InStr(2, Trim(.Text), "-")
iEnd = InStrRev(Trim(.Text), "-", Len(Trim(.Text)) - 1)
strFirst = Left(Trim(.Text), iBegin)
strScnd = Mid(Trim(.Text), iBegin + 1, iEnd - iBegin - 1)
strThrd = Right(Trim(.Text), Len(.Text) - iEnd)
End With
strInvert = "-" & Replace(expression:=strThrd & strScnd & strFirst, Find:=" ", Replace:="")
c.Offset(0, 1).Value = strInvert
Next
End Sub