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

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


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

このページの目次



1 セルと文字の結合

2 セル結合解除



◆◆◆ 1 セルと文字の結合 ◆◆◆

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

エクセルでいくつかのセルにそれぞれデータや語句を入力していくが、それをあるときは1つのセルの中にまとめて記入したいと思うことがある。複数のセルにデータが入力された状態で結合すると最初のデータだけが残ってあとは、データが無くなってしまうことがある。一つ一つのデータをまとめたいセルに切り取り貼り付けを繰り返すのも面倒である。ここで示すセルー文字の結合を利用すると複数のセル内にあるデータを、セルを結合するとともに、文字列も結合することができる。


Sub セルー文字の結合()
'
' セルー文字の結合 Macro
' マクロ記録日 : 2005/1/7  ユーザー名 : canchan
'複数セルの値を前のセルのデータに結合して表示し、中央表示します。
Dim seru As Range
Dim moji As Variant

For Each seru In Selection
moji = moji & seru.Value
Next
Application.DisplayAlerts = False
With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlTop
    .WrapText = True
    .MergeCells = True
End With

Application.DisplayAlerts = True
Selection.Value = moji

End Sub


モジュールをコピーする

このページの目次に戻る

このページの目次に戻る


◆◆◆ 2 セル結合解除 ◆◆◆

1で複数セルを結合してしまうと、大きな結合セルになってしまうことにもなる。そこで次にこのVBAを利用することで、まとめた文字列を1つのセル、結合したセルを分割したのち左上の1つのセルに、その文字列を入れることができる。それにより、表の処理上も都合よくなる。


Sub セル結合の解除()
'
' セル結合の解除 Macro
' マクロ記録日 : 2005/1/7  ユーザー名 : canchan
'
Dim seru As Range
For Each seru In Selection
seru.MergeCells = False
Next
'
End Sub


モジュールをコピーする
このページの目次に戻る




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