文字追加マクロ

Sub addString_Exe(n As Integer)
'各セルの前後に文字を追加する
    Dim msg             As String
    Dim strForward      As String
    Dim strBack         As String    
    
    msg = "まず前方" & n & "文字目に追加する文字を入力して下さい。空欄でも構いません。"
    'Application.InputBoxのType
    '0:数式
    '1:数値
    '2:文字列
    '8:セル参照
    strForward = Application.InputBox(msg, Title:="前方追加文字列", Type:=2)
    
    
    '文字形式(Type:=2)のInputBoxでは、キャンセルが押されたとき「False」という文字が返される。
    'StrConvのvbLowerCaseを用いて全て小文字に変換する。
    If StrConv(strForward, vbLowerCase) = "false" Then Exit Sub
    
    msg = "次に、後方に追加する文字を入力して下さい。空欄でも構いません。"
    msg = msg & vbCrLf & "後方追加文字列: " & strForward
    
    strBack = Application.InputBox(msg, Title:="後方追加文字列", Type:=2)
    
    If StrConv(strBack, vbLowerCase) = "false" Then Exit Sub    
   
    On Error Resume Next
    Dim eachRng As Range
    
    Application.ScreenUpdating=False'描画省略

    '選択範囲の各セルの数式について、n文字めに前方追加文字列を追加
    'また、後方追加文字列を追加。
    For Each eachRng In Selection
        eachRng.Formula = Left(eachRng.Formula, n) & strForward & Mid(eachRng.Formula, n + 1) & strBack
    Next eachRng    
    
End Sub

Sub addStringForwardAndBack()
'単純に各セルの前後に文字を追加する
    Call addString_Exe(0)
End Sub

Sub addStringForwardAndBack01()
'1文字(主に、 「=」 文字を想定)あけた後に、各セルの前後に文字を追加する
    Call addString_Exe(1)
End Sub