【Excel/VBA のこと 03】
行の高さ、列の幅をダブルクリックでの自動で調整するとき、
ダブルクリックと同時にマウスが動いてしまって失敗・・・
とか、自動調整されたサイズよりもうちょっと広げたい
ってことが表を作成している時によくあるのですが、tuna-kichi だけ?
セル全体、特定の行高/列幅、を調整する簡単なマクロを作成して、
リボンに登録してしまいましょう。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
行高列幅自動調整
マクロを書く
行列の自動調整(Autofit)
では、まず自動で行高/列幅を調整するマクロです。
これは、ダブルクリックで調整するのと同じです。
こちらは行高調節
****************************************
Sub 行高自動調整
Rows(Selection.Row).Autofit
End
****************************************
こちらは列幅調節
****************************************
Sub 列幅自動調整
Columns(Selection.Column).Autofit
End
****************************************
行列挿入の時と同様、最初と最後の文は、「コードはここからここまで」
って教えている区切りみたいなものだから
実際のコードは一行だけ!
じゃ、簡単に説明
Rows・・・行を指定します
(Selection.Row)・・・現在選択されているセルの行を指定しています。
Autofit・・・自動調節
Rows の後に続くかっこの中に「何行目」を指定します。
基本的には、かっこの中に数字を記述します。(1とか3とか456とか)
しかしここで、【Selection.Row】というものを使えば、
「今選択しているセルの行」
を指定することが出来るのです。
(列も同じことです)
・・・って、【Excelのこと02】でも同じ事書きました。
違うのは最後の一語
指定した行に対して何をするか
ってことだけです。
リボンに設定する
1.リボンの空白の所で右クリック
2.【リボンのユーザー設定】をクリック
3.左側の窓の【コマンド選択】から【マクロ】をクリック
4.作成した、登録したいマクロををクリック
(ここでの場合は「行高自動調整」)
5.右側の窓で登録したいマクロを表示させる場所をクリック
(タブ、グループを選択する)
6.真ん中にある【追加】をクリック
7.右側の窓の登録したマクロを選択して、【名前を変更】
tuna-kichi の場合はこんな風になりました。
(行列追加は 【Excelのこと02】で作成)
マクロ・・・「マクロ」という名前で、新しいタブを作成
行列・・・「行列」という名前で新しいグループを「マクロ」タブの中に作成
マクロタブの行列グループの中に行高、列幅のマクロを登録しました。
キャプチャ付きのもう少し詳しい手順は【Excelのこと02】で確認してください。
これで、サイズを調節したいセルを選択して、リボンに登録したマクロを
クリックで自動で調節してくれますね。
下のキャプチャのように調節したい行にマウスを持って行って、
ハンドルに変えて、ダブルクリック!
だけどマウスも動いちゃって調節失敗! ってことはなくなります。
あとちょっと広げる
表を作成して、説明文を記述する という作業が今の職場では結構あります。
長文が書かれて、自動調節の行高だと、
「上下のセルが、くっつきすぎてちょっと見えにくいから、
もうちょっと広げて見やすくしたい」
ということが、発生します。
そこで、現状のセルの行高に10pt プラスするマクロです。
+10pt 行高マクロ
まず、マクロ
*****************************************************************************************
Sub 行高プラス10pt()
Rows(Selection.Row).RowHeight = Rows(Selection.Row).RowHeight + 10
End Sub
*****************************************************************************************
ちょっと長いですね。
でも書いてあることは、そんなに難しくありません。
じゃまた、簡単に説明
イコール(=)の左側
Rows・・・行を指定します
(Selection.Row)・・・現在選択されているセルの行を指定しています。
RowHeight・・・行の高さ
右側
Rows・・・左側と同じ意味
(Selection.Row)・・・左側と同じ意味
RowHeight・・・左側と同じ意味
+ 10・・・10pt プラスします。
つまり・・・
現在選択されているセルの行の高さを、(左)
現在選択されているセルの高さに10ptプラスしたサイズにする(右)
って、書きます。
左右でほぼ同じことを書いていますよね。
違うのは 「+10」 ってところだけ。
でも実際に実行すると、数値によっては正確に10ptプラスされるわけではなく、
大体10ptプラスされることがあります。
10ptは tuna-kichi がマニュアルで操作して、これくらいがちょうどいいかな
と思ったサイズなので、ご自身で任意に変更してくださいね。
+5pt でも +14pt でも。
仕事では列幅の調整は手動の方が都合がいいので、作成していませんが、
こんな感じです。
長いので改行されてしまいましたが、1行で書いてください。
*****************************************************************************************
Sub 列幅プラス10pt()
Columns(Selection.Column).ColumnWidth = Columns(Selection.Column).ColumnWidth + 10
End Sub
*****************************************************************************************
ちなみに、Width は ウィズ と発音します。
With you と同じ ウィズ です。
ここでは、カラムウィズ ですね。(コラムっていう人もいるかな?)
合体させましょう
行高列幅を自動調節するマクロを実行して、10pt広げるマクロを実行する・・・
この作業を一つのマクロにまとめてしまいます。
こんな感じ。
*******************************************************************************************
Sub 行高自動調整プラス10()
Rows(Selection.Row).AutoFit
Rows(Selection.Row).RowHeight = Rows(Selection.Row).RowHeight + 10
End Sub
*******************************************************************************************
単純に2つのマクロをくっつけただけです。
自動調節が実行された後に 10pt 加算されます。
・自動調整
・+10pt
・両方
この3つを作成、登録しておいて、場面によって使い分けていくと便利ですよ。
ハイブリットで行きましょう
もちろん表の大きさをはかって、すべての行、列に対してサイズを調整する
というマクロも作成できます。
が、メインの業務はマクロの作成ではなく、表や資料などを作成することです。
なので、このブログで紹介するのは、メインの作業を完遂するための、
お手伝いマクロです。
片手間にマクロを作成して、そのマクロを使いながら作業を完了させる
時短、確実性UP、ストレス減 になります。
なので、なので、
ちゃちゃっとマクロを作る
左手で下キーを押してセル移動
右手のマウスで作成したマクロをクリック
という半手動での作業をお勧めします。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/