以下が修正が必要な部分の関数のソースです。 修正個所は3個所ですが、二つのプログラムに同じ関数が ありますので、両方とも修正してください。 Private Function fun4b(strIN As String) As String '指定文字の前にある漢数字を半角英数字に置き換える Dim strWK As String Dim numFLG As Integer, manFLG As Integer Dim i As Integer, k As Integer, n(16) As Integer Dim chrWK As String If strIN = "" Then fun4b = "" Exit Function End If For i = 1 To 16 n(i) = -1 '初期値を−1に変更します 2000.9.8 Next i k = 1 i = 1 numFLG = 0 strWK = "" fun4b = "" While i <= Len(strIN) chrWK = Mid(strIN, i, 1) Select Case chrWK Case "一", "壱" n(k) = 1 k = k + 1 Case "二" n(k) = 2 k = k + 1 Case "三" n(k) = 3 k = k + 1 Case "四" n(k) = 4 k = k + 1 Case "五" n(k) = 5 k = k + 1 Case "六" n(k) = 6 k = k + 1 Case "七" n(k) = 7 k = k + 1 Case "八" n(k) = 8 k = k + 1 Case "九" n(k) = 9 k = k + 1 Case "0", "〇", "0" n(k) = 0 'この行を追加します 2000.9.8 k = k + 1 Case "十", "拾" If manFLG = 1 Then k = 6 Else k = 2 End If n(k) = 1 Case "百" If manFLG = 1 Then k = 7 Else k = 3 End If n(k) = 1 Case "千" If manFLG = 1 Then k = 8 Else k = 4 End If n(k) = 1 Case "万" k = 5 manFLG = 1 Case Else End Select i = i + 1 If k > 16 Then k = k - 1 End If Wend For i = 16 To 1 Step -1 If numFLG = 1 Then strWK = strWK + Trim(Str(n(i))) Else If n(i) >= 0 Then '条件を変更します 2000.9.8 numFLG = 1 strWK = Trim(Str(n(i))) End If End If Next i fun4b = strWK + "-" End Function