2010年6月9日水曜日

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

 昨日に引き続きセルに入力された文字列を変換するマクロ。

 タイムの測定は記事がごちゃごちゃして見難くなる(笑)ので割愛。

Sub 全角に変換する()
    Call Sample(vbWide)
End Sub

Sub 半角に変換する()
    Call Sample(vbNarrow)
End Sub

Sub Sample(a)
    For Each s In Selection
        If Not Len(s) = 0 Then
            If Not s.HasFormula Then
                s.Value = StrConv(s, a)
            End If
        End If
    Next
End Sub

 列が全選択される事を想定して空白セルをスキップするコードを追加。

 ついでに、セルに数式が入力されている場合もスキップする仕様に変更。

 配列に格納するやり方は速度が魅力だけど、コードのメンテナンスのやりやすさ等、トータルに考えて、この辺りが落としどころかなぁ。

0 件のコメント:

コメントを投稿