半角カナのみを選択的に全角に変換する
 サンプルマクロは、アクティヴシートの使用セル範囲に入力された半角カナを全角に変換します。

Sub Sample()

    Dim myLetter As String
    Dim myStr As String
    Dim myCell As Range

    On Error Resume Next

    For Each myCell In ActiveSheet.UsedRange
        myStr = myCell.Value
        For i = 1 To Len(myStr)
            myLetter = Mid(myStr, i, 1)
            Select Case Asc(myLetter)
                Case 167 To 181, 197 To 201, 207 To 223
                    myStr = Left(myStr, i - 1) & StrConv(myLetter, vbWide) _
                        & Mid(myStr, i + 1)
                Case 182 To 196, 202 To 206
                    Select Case Asc(Mid(myStr, i + 1, 1))
                        Case 222 To 223
                            myStr = Left(myStr, i - 1) & _
                                StrConv(Mid(myStr, i, 2), vbWide) & _
                                Mid(myStr, i + 2)
                        Case Else
                            myStr = Left(myStr, i - 1) & StrConv(myLetter, vbWide) & _
                                Mid(myStr, i + 1)
                    End Select
            End Select
        Next
        myCell.Value = myStr
    Next

End Sub

Excel95/97/2000



戻る


Excel Word Access VBA! モーグ