[COLOR="Navy"]Sub[/COLOR] MG01Dec34
[COLOR="Navy"]Dim[/COLOR] n [COLOR="Navy"]As[/COLOR] [COLOR="Navy"]Long,[/COLOR] Temp [COLOR="Navy"]As[/COLOR] [COLOR="Navy"]String[/COLOR]
[COLOR="Navy"]For[/COLOR] n = 1 To Len([a1])
[COLOR="Navy"]If[/COLOR] Not IsEmpty(Temp) [COLOR="Navy"]Then[/COLOR]
[COLOR="Navy"]If[/COLOR] Mid([a1], n, 1) = Temp [COLOR="Navy"]Then[/COLOR]
[a1] = Mid([a1], 1, n - 1) & "X" & Mid([a1], n)
[COLOR="Navy"]End[/COLOR] If
[COLOR="Navy"]End[/COLOR] If
Temp = Mid([a1], n, 1)
[COLOR="Navy"]Next[/COLOR] n
[COLOR="Navy"]End[/COLOR] [COLOR="Navy"]Sub[/COLOR]
Sub SplitDouble()
With CreateObject("vbScript.RegExp")
.Global = True
.IgnoreCase = True
.Pattern = "(.)\1"
Range("A1").Value = .Replace(Range("A1").Value, "$1X$1")
End With
End Sub
.Pattern = "(.)(?=\1)"
Range("A1").Value = .Replace(Range("A1").Value, "$1X")
Function SplitDoubles(s As String, Delim As String, Optional CheckCase As Boolean = False) As String
Dim i As Long
Dim t As String
t = s
If Not CheckCase Then t = LCase(s)
For i = Len(t) To 2 Step -1
If Mid(t, i, 1) = Mid(t, i - 1, 1) Then
s = Left(s, i - 1) & Delim & Mid(s, i)
End If
Next i
SplitDoubles = s
End Function
Excel Workbook | ||||||
---|---|---|---|---|---|---|
A | B | C | D | |||
1 | MESSAGE | MESXSAGE | MES SAGE | MES:-:SAGE | ||
2 | Cat | Cat | Cat | Cat | ||
3 | Mississippi | MisXsisXsipXpi | Mis sis sip pi | Mis:-:sis:-:sip:-:pi | ||
4 | AaAaA | AXaXAXaXA | AaAaA | A:-:a:-:A:-:a:-:A | ||
5 | Llewellyn | LXlewelXlyn | Llewel lyn | L:-:lewel:-:lyn | ||
Sheet2 |