2005.1.9にモジュールのソースをボタンでコピーできるようにしました。ホームページに載っているソースをコピーしようとしてドラッグしかけて、うまく全体がコピーできなかったことを今まで何度も経験していると、簡単にコピーできるほうがありがたい。そんな思いで一括コピーするボタンをつけてみました。もちろん私はエクセルVBAといっても本で読んだり、他の人のHPを参考にしながら、自分が利用しそうなものをまとめているだけで、自分なりに手を加えている箇所は非常に少ないだろうと思います。


「エクセルVBA事始め」に戻る

エクセルVBAのマクロの記述モジュールは緑の枠内に記述しています。「モジュールをコピーする」のボタンをクリックすると、このモジュール全体を一発でコピーします。それを貼り付けてマクロを実行してみてください。

このページの目次



1 半角を全角へ変換
2 全角を半角へ変換
3 ひらがなをカタカナに変換
4 カタカナをひらがなに変換
5 小文字を大文字へ変換
6 大文字を小文字に変換
7 先頭のみ大文字に変換



◆◆◆ 1 半角を全角へ変換 ◆◆◆

氏名などを、半角カタカナで表記した列を、全角のほうが読みやすいからということで、全角にしたいときに利用できる。

エクセルの関数を利用して変換することもできるが、そのときは別の列が必要になる。別の列を用意し、JIS関数を利用して半角の英数カナ文字を全角に変換し、その列をコピーして「値の貼り付け」をどこかの列にしないと、元の半角の列を削除できない。このVBAを利用すれば、同じ列の中で一気に変換することができる。

利用するときには、変換したいところを選択してからマクロの実行をする。


Sub 半角を全角へ変換()
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbWide)
Next 対象
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 2 全角を半角へ変換 ◆◆◆

前のVBAと逆で、全角の英数カナを半角の英数カナに変換する。前の操作で全角にしたが、元に戻したいという形でも利用できる。エクセルVBAの操作はエクセルで入力などを元に戻したいときには、「編集>戻す」で元に戻せるが、VBAを使うと「戻す」ことはできないので、両方を使えるようにしておくのも便利な気がする。住所の番地、電話番号なども半角で入力されてあったり、全角で入力されてあったり、そろいにくいものである。

エクセル関数ではASC関数を使えば半角にすることができる。

利用するときには、変換したいところを選択してからマクロの実行をする。


Sub 全角を半角へ変換()
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbNarrow)
Next 対象
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 3 ひらがなをカタカナに変換 ◆◆◆

名簿などを作成するときに、いろいろなデータをコピーして張り付けたときに、ひらがながあったり、カタカナがあったりと統一されていなかったり、カタカナよりもひらがなのほうが柔らかな印象を与えるということで変換したいことがある。また作成している名簿はひらがなで読みを書いているが、データを利用するところにはカタカナが指定されていることがある。このようなときに役に立つ。

利用するときには、変換したいところを選択してからマクロの実行をする。


Sub ひらがなをカタカナに変換()
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbKatakana)
Next 対象
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 4 カタカナをひらがなに変換 ◆◆◆

名簿などを作成するときに、いろいろなデータをコピーして張り付けたときに、ひらがながあったり、カタカナがあったりと統一されていなかったり、カタカナよりもひらがなのほうが柔らかな印象を与えるということで変換したいことがある。また作成している名簿はカタカナで読みを書いているが、データを利用するところにはひらがなが指定されていることがある。このようなときに役に立つ。

利用するときには、変換したいところを選択してからマクロの実行をする。


Sub カタカナをひらがなに変換()
' マクロ記録日 : 2005/12/29  ユーザー名 : canchan
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbHiragana)
Next 対象
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 5 小文字を大文字へ変換 ◆◆◆


Sub 小文字を大文字へ変換()
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
'
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbUpperCase)
Next 対象
'
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 6 大文字を小文字に変換 ◆◆◆


Sub 大文字を小文字に変換()
'
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
'
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbLowerCase)
Next 対象
'
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 7 先頭のみ大文字に変換 ◆◆◆


Sub 先頭のみ大文字に変換()
'
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
'
Dim 対象 As Range
For Each 対象 In Selection
対象.Value = StrConv(対象.Value, vbProperCase)
Next 対象
'
End Sub

モジュールをコピーする


このページの目次に戻る



「エクセルVBA事始め」に戻る