エクセルマクロVBA:セルの操作
エクセルのちょっとしたテクニックを紹介します。
エクセルのデータで文字列の一部が半角だったりするのを全角、半角どちらかにそろえるにはどうしますか?データを受け取ったときに、全角と半角が混在して見にくいということがありますよね。VBAで一括変換しちゃいましょう。
このStrconv関数を使用すると、文字列の全角と半角、大文字と小文字、ひらがなとカタカナの変換ができます。
構文は、Strconv(文字列,引数)となります。引数については、下記のようになります。
vbUpperCase:文字列を大文字に変換します。
vbLowerCase:文字列を小文字に変換します。
vbProperCase:文字列の各単語の先頭の文字を大文字に変換します。
vbWide:文字列内の半角文字を全角文字に変換します。
vbNarrow:文字列内の全角文字を半角文字に変換します。
vbKatakana:文字列内のひらがなをカタカナに変換します。
vbHiragana:文字列内のカタカナをひらがなに変換します。
vbUnicode:文字列をUnicodeに変換します。
vbFromUnicode:文字列をUnicodeから既定のコードページに変換します。
以下のサンプルコードで試してみてくださいね。
'**********************************************
'アクティブセル列の文字を全角または半角にそろえる
'**********************************************
Sub Test10()
Dim Str As String
Worksheets.Add before:=Worksheets(1)
With Worksheets(1).Range("A1")
.Activate
.Value = "ABC123アイウ"
End With
Str = ActiveCell.Value
MsgBox "半角にします"
ActiveCell.Value = StrConv(Str, vbNarrow)
MsgBox "全角にします"
ActiveCell.Value = StrConv(Str, vbWide)
MsgBox "小文字にします"
ActiveCell.Value = StrConv(Str, vbLowerCase)
MsgBox "大文字にします"
ActiveCell.Value = StrConv(Str, vbUpperCase)
MsgBox "先頭を大文字にします"
ActiveCell.Value = StrConv(Str, vbProperCase)
MsgBox "カタカナをひらがなにします"
ActiveCell.Value = StrConv(Str, vbHiragana)
MsgBox "ひらがなをカタカナにします"
ActiveCell.Value = StrConv(Str, vbKatakana)
MsgBox "半角で小文字にします"
ActiveCell.Value = StrConv(Str, vbNarrow + vbLowerCase)
MsgBox "全角で先頭を大文字にします"
ActiveCell.Value = StrConv(Str, vbProperCase + vbWide)
End Sub
エクセルのワークシート関数を利用して変換する場合は、ASC関数:全角数字を半角数字に変換する@エクセルまたは、JIS関数:半角数字を全角数字に変換する@エクセルを参照してください。
トラックバックURL
この記事にコメントする