以下が修正が必要な部分の関数のソースです。一番後ろの部分の3行を追加します。 修正個所は1個所ですが、二つのプログラムに同じ関数が ありますので、両方とも修正してください。 Private Function fun2(strIN As String) As String '連続するアルファベットを−ハイフンに置き換える Dim strWK As String Dim i As Integer Dim flgALPH As Integer, flgNUM As Integer Dim chrWK As String If strIN = "" Then fun2 = "" Exit Function End If i = 0 flgALPH = 0 flgNUM = 0 fun2 = strIN While i < Len(strIN) i = i + 1 chrWK = Mid(strIN, i, 1) Select Case chrWK Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" If flgALPH = 2 Then Mid(fun2, i - 1, 1) = "-" End If flgNUM = 1 flgALPH = 0 Case "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" If flgALPH = 1 Or flgALPH = 2 Then Mid(fun2, i - 1, 1) = "-" Mid(fun2, i, 1) = "-" Else If chrWK = "F" And flgNUM = 1 Then flgALPH = 2 Else flgALPH = 1 End If End If flgNUM = 0 Case Else '数字に続く1文字のF(2Fとか)をハイフンに変換 If flgALPH = 2 Then Mid(fun2, i - 1, 1) = "-" End If flgALPH = 0 flgNUM = 0 End Select Wend If chrWK = "F" And flgALPH = 2 Then '最後にFが残る場合に対応 2000.10.6 追加 Mid(fun2, i, 1) = "-" '最後にFが残る場合に対応 2000.10.6 追加 End If '最後にFが残る場合に対応 2000.10.6 追加 End Function