SAラン広域セン支の覚え書き

・ボダブレ辞書 ・各種日本語入力ソフトの辞書解説 ・実用Excel VBA

(Excel VBA) 選択範囲の全角半角変換

はてな記法の練習も兼ねて。>
はてな記法一覧 - はてなダイアリーのヘルプ

趣味と実益を兼ねたVBA。仕事を楽にするために一応使ってる。
今回は全角→半角変換。まあ基本と言えば基本だが……

Sub W2N1()
    ' ★★ 選択範囲:全角→半角 ★★
    Dim i, j As Long
    '選択範囲
    For i = Selection(1).Row To Selection(Selection.Count).Row
        For j = Selection(1).Column To Selection(Selection.Count).Column
            Cells(i, j) = StrConv(Cells(i, j), vbNarrow)
        Next j
    Next i
End Sub

よりも、下記の方がスマート。

Sub W2N2()
    ' ★★ 選択範囲:全角→半角 ★★
    Dim SR As Range
    For Each SR In Selection
        SR.Value = StrConv(SR.Value, vbNarrow)
    Next SR
End Sub

スマートというのもあるが、不定形の選択範囲(飛び飛びだったり)ではこちらでないとうまくうごかない。