2010年6月10日木曜日

【Excel】半角と全角の変換マクロ③【VBA】

 文字列変換のマクロに、セル以外のオブジェクトが選択された場合と、選択セルが多すぎる場合にメッセージを表示するコードを付け加えました。
 また、引数をStrConv関数に合わせてみました。
Sub 全角に変換する()
    Call xStrConv(Selection, vbWide)
End Sub

Sub 半角に変換する()
    Call xStrConv(Selection, vbNarrow)
End Sub

Private Sub xStrConv(a1, a2)
    Max = 5000
    Set f = Application.WorksheetFunction
    
    If Not TypeName(a1) = "Range" Then
        MsgBox ("セルを選択して下さい")
        Exit Sub
    ElseIf f.CountA(a1) > Max Then
        MsgBox ("処理出来るデータの数は" & Max & "までです")
        Exit Sub
    End If
    
    For Each c In a1
        If Len(c) > 0 Then
            If Not c.HasFormula Then
                c.Value = StrConv(c, a2)
            End If
        End If
    Next
End Sub

0 件のコメント:

コメントを投稿