エクセルマクロ集 ~VBAで記述する~

IT全般

エクセルマクロ事例集

セルの移動

ActiveCell.Offset(**, **).Activate

アクティブセルを移動することができる。「**」には数字を入れる、第一項が上下(プラスが下)、第二項が左右(プラスが右)となる。

お試し1:選択しているセルで、マクロを起動すると、一つ下のセルの内容を右のセルに切り取り張り付ける。最終的に元のセルに戻る

ActiveCell.Offset(1, 0).Activate    '一つ下のセルに移動
Selection.Cut ' アクティブセルの切り取り
ActiveCell.Offset(-1, 1).Activate '一つ上、一つ右のセルに移動
ActiveSheet.Paste ' 貼り付け
ActiveCell.Offset(0, -1).Activate '一つ左のセル(元のセル)に移動

セルのマージ

上記のボタンをマクロにすると以下のような形。

Selection.merge
[補足1] 上記の前に以下も入れておくと、好きな位置に移動してくれます。上記のボタンと同じ動作にしたい場合は以下のように設定してください。※これを入れないと”HolizontalAlignment = xlGeneral”となるため、左寄せになります

With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
[補足2] Merge後の水平位置(Horizontal)、垂直位置(Vertical)はそれぞれ以下のような設定で変更可能

水平位置(Holizontal)の設定 (“OfficePro”さんのサイトより)
https://www.officepro.jp/excelvba/cell_align/index1.html

垂直位置(Vertical)の設定 (“OfficePro”さんのサイトより)
https://www.officepro.jp/excelvba/cell_align/index1.html

統合したセルの分離

セル統合のマクロを設定した後、セットで、分離のマクロを設定しておくと便利です。※マクロを使用した後はctrl + zで戻れません。そのため、上記のマクロを使用して間違えて統合してしまった場合、わざわざ「セルを統合して中央揃え」のボタンを再度クリックする必要があります。せっかくマクロを設定したのにこれは非常に面倒なので、ついでに分離のマクロも組みましょう。

Selection.UnMerge

マクロの表示のショートカット

以下のショートカットで表示可能

Alt + F11

マクロがわからないときの簡単な調べ方

マクロがわからないときは、Googleに聞くのはもちろん最良の手段ではあるが、もっと簡単に調べる方法があります。この方法は簡単なだけでなく、オフラインでも使用可能なこともメリットです。

選択中のエクセルファイルから、「表示」タブ →` 「マクロ」の下矢印をクリック → 「マクロの記録」を選択 → マクロにしたい処理を実施 (ex. 下のセルの内容をコピーして右のセルに張り付けるなど。ショートカットを使用してもよい)。先ほどの「マクロの記録」があった部分が「記録終了」となっているので、これをクリック。

その後、Alt + F11を押すと、今記録したマクロが見れるので、内容を確認し、必要な部分を改良します。上記のような一つのエクセルブック内で完結するような簡単なものであれば、この方法が最も簡単です。

参考にしたサイト

以下のサイト参考にさせていただきました。ありがとうございます。

コメント