| 
    
     |  | >Range("A1") = Left(Range("A1"), 1) & Mid(Range("A1"), 4) 
 作業セルを使わないで同じセルで作業するとセルの文字数とループの数が合わなくなりますよ。
 
 とりあえず、の案です。
 他の回答者からもっとマシなレスが付くまでの繋ぎです。
 
 Sub test1()
 Dim mycell As Range
 Dim sagyoucell As Range
 Dim cellstr As String
 Dim i As Long
 Dim j As Long
 Set sagyoucell = ActiveSheet.Cells(1, 1)
 Set mycell = ActiveCell
 cellstr = ""
 For i = 1 To Len(mycell.Value)
 If i < 2 Or i > 2 + 2 - 1 Then cellstr = cellstr & Mid(mycell.Value, i, 1)
 Next i
 With sagyoucell
 .NumberFormatLocal = "@"
 .Value = cellstr
 End With
 j = 0
 For i = 1 To Len(mycell.Value)
 If i < 2 Or i > 2 + 2 - 1 Then
 j = j + 1
 sagyoucell.Characters(Start:=j, Length:=1).Font.Color = mycell.Characters(Start:=i, Length:=1).Font.Color
 End If
 Next i
 sagyoucell.Copy mycell
 sagyoucell.Clear
 Set sagyoucell = Nothing
 Set mycell = Nothing
 End Sub
 
 
 |  |