Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBA のこと03...行高/列幅の調整をワンクリックで】

【Excel/VBA のこと 03】

f:id:tuna-kichi:20200223230814p:plain

行の高さ、列の幅をダブルクリックでの自動で調整するとき、

ダブルクリックと同時にマウスが動いてしまって失敗・・・

とか、自動調整されたサイズよりもうちょっと広げたい 

ってことが表を作成している時によくあるのですが、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】で作成)

f:id:tuna-kichi:20200201134504p:plain

マクロ・・・「マクロ」という名前で、新しいタブを作成

行列・・・「行列」という名前で新しいグループを「マクロ」タブの中に作成

マクロタブの行列グループの中に行高、列幅のマクロを登録しました。

 

キャプチャ付きのもう少し詳しい手順は【Excelのこと02】で確認してください。 

 

www.tuna-kichi.com

 

 

これで、サイズを調節したいセルを選択して、リボンに登録したマクロを

クリックで自動で調節してくれますね。

 

下のキャプチャのように調節したい行にマウスを持って行って、

ハンドルに変えて、ダブルクリック! 

だけどマウスも動いちゃって調節失敗! ってことはなくなります。

f:id:tuna-kichi:20200201140639p:plain

 

あとちょっと広げる

表を作成して、説明文を記述する という作業が今の職場では結構あります。

長文が書かれて、自動調節の行高だと、

「上下のセルが、くっつきすぎてちょっと見えにくいから、

もうちょっと広げて見やすくしたい」

ということが、発生します。

 

そこで、現状のセルの行高に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、ストレス減 になります。

 

なので、なので、

ちゃちゃっとマクロを作る

左手で下キーを押してセル移動

右手のマウスで作成したマクロをクリック

という半手動での作業をお勧めします。

  _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/