このバナーをクリックするとホームページに戻ります

エクセルVBA4「追加・削除する」

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

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


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

このページの目次



1 ふりがなを同一セルに追加

2 右列文字をふりがなに追加

3 フリガナを右列に表示

4 範囲内の文字列先頭末尾スペースを削除

5 範囲内文字列内の半角スペースを削除

6 範囲内文字列の全スペースを削除



◆◆◆ 1 ふりがなを同一セルに追加 ◆◆◆

ふりがなをつけたいセルを選択して、このマクロを実行すると、ふりがなが設定できる。ただし、他のシートなどからコピーして張り付けたデータだと、振り仮名は表示できない。このマクロのときは必ず直接入力したセルに限る。

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


Sub ふりがなを同一セルに追加()
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
'ふりがなを設定したいところを範囲指定してから実行する。

Dim 対象 As Range
For Each 対象 In Selection
Selection.SetPhonetic
Next 対象
'
End Sub

モジュールをコピーする


このページの目次に戻る


◆◆◆ 2 右列文字をふりがなに追加 ◆◆◆

1の「ふりがなを同一セルに追加」はセルに入力してある情報からのふりがな追加ですが、この2はふりがなを追加するセルを選択すると、その右のセルの値(ひらがな、カタカナ、アルファベット、漢字などどんな値でも)をふりがなとして追加することができる。またふりがなを設定しても後で間違いを訂正するときも、細かいルビを直すより、隣の列に入力されている値を訂正してこのマクロを実行すると、楽である。


Sub 右列文字をふりがなに追加()
' マクロ記録日 : 2004/12/29  ユーザー名 : canchan
'
Dim 対象 As Range	'選択された領域を「対象」としている。
Dim ふりがな As String

For Each 対象 In Selection
ふりがな = 対象.Offset(0, 1).Value	'「対象」の1列右Offset(0, 1)が「ふりがな」である。
If ふりがな = "" Then
対象.Activate
MsgBox "ふりがなデータがありません。"
Exit Sub
End If
対象.Phonetic.Text = ふりがな
Next 対象

End Sub




モジュールをコピーする


このページの目次に戻る


◆◆◆ 3 フリガナを右列に表示 ◆◆◆


Sub フリガナを右列に表示()
' フリガナを右列に表示 Macro
' マクロ記録日 : 2005/1/7  ユーザー名 : canchan
Dim taisyo As Range
For Each taisyo In Selection
taisyo.Offset(0, 1).Value = Application.GetPhonetic(taisyo)     '「対象」の右列の値は「対象」のふりがなですよ
Next taisyo
'
End Sub


モジュールをコピーする


このページの目次に戻る


◆◆◆ 4 範囲内の文字列先頭末尾スペースを削除 ◆◆◆


Sub 範囲内の文字列先頭末尾スペースを削除()
Dim 対象 As Range       ’
For Each 対象 In Selection
    For Each セル In ActiveSheet.UsedRange      '現在シートの使われたセル範囲の各セルに対して
        セル.Value = Trim(セル.Value)           '先頭と末尾の両方のスペースを削除する
    Next                                        '繰り返す
End Sub


モジュールをコピーする


このページの目次に戻る


◆◆◆ 5 範囲内文字列内の半角スペースを削除 ◆◆◆


Sub 範囲内文字列内の半角スペースを削除()
Dim 対象 As Range
For Each 対象 In Selection
    For Each セル In ActiveSheet.UsedRange      '現在シートの使われたセル範囲の各セルに対して
        セル.Value = Replace(セル.Value, " ", "")         '文字列内の半角スペースを削除する
    Next                                        '繰り返す
End Sub


モジュールをコピーする


このページの目次に戻る


◆◆◆ 6 範囲内文字列の全スペースを削除 ◆◆◆


Sub 範囲内文字列の全スペースを削除()
    For Each セル In ActiveSheet.UsedRange      '現在シートの使われたセル範囲の各セルに対して
'        セル.Value = Trim(セル.Value)           '先頭と末尾の両方のスペースを削除する
        セル.Value = Replace(セル.Value, " ", "")         '文字列内の半角スペースを削除する
        セル.Value = Replace(セル.Value, " ", "")         '文字列内の全角スペースを削除する
    Next                                        '繰り返す
End Sub

モジュールをコピーする




このページの目次に戻る




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