Excelのこととか色々

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

【Excel/VBA のこと02...行/列 追加をワンクリックで】

【Excel/VBAのこと 02】

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

【Excel のこと 01】で作成した、個人用マクロブックに、

一行/一列を追加するマクロを VBA で記述していきます。

そのあと、そのマクロをいつでも、クリック一回で使えるように設定します。

 

 

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

VBEを開く

VBE(Visual Basic Editor)は【Excel のこと01】で設定した、

開発タブから開けますよ。

 

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

 

そしたら、【VBA Project (PERSONL.XLSB) 配下で標準モジュールを作成します。

(メニューバーの挿入からも作成できます)

 

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

 

次に、作成した【Modul1】の【オブジェクト名】を分かりやすいものに変更します。

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


これから、このモジュールの中に簡単なマクロをいくつも書いていきます。

 

マクロを書く

ではまず、一行追加 と 一列追加 です。

一行追加はこんな感じ

****************************************
Sub 一行追加

  Rows(Selection.Row).Insert

End

****************************************

 

一列追加はこんな感じ

****************************************
Sub 一行追加

  Columns(Selection.Column).Insert

End

****************************************

 

最初と最後の文は、「コードはここからここまで」 って教えている区切りみたいなものだから

実際のコードは一行だけ!

 

では、行追加の例で簡単に説明です。

Rows・・・行を指定しています。

(Selection.Row)・・・現在選択されているセルの行を指定しています。

Insert・・・挿入を指定します。

 

どうでしょう? 一行だけです。多分難しい英単語ではないと思います。

 

Rows の後に続くかっこの中に「何行目」を指定します。

基本的には、かっこの中に数字を記述します。(1とか3とか456とか)

しかしここで、【Selection.Row】というものを使えば、

「今選択しているセルの行」

を指定することが出来るのです。

(列も同じことです)

 

リボンに設定する

マクロが記述出来たら、リボンに設定していつでも使えるようにします。

 

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

【リボンのユーザー設定】を開いて

【新しいタブ】を追加して名前を変更しましょう

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

 

【新しいグループ】も名前を変更します。

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

 

次に、作成したグループの中に、一行追加のマクロを登録していきます。

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


①グループを選択して

②【コマンドの選択】から【マクロ】を選択して

③【PERSONAL.XLSB!一行追加】を選択して

④【追加】ボタンをクリック

⑤追加されたか確認しましょ

 

追加されたマクロの名前が長いので、【名前の変更を】クリックして変更しましょう。

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

 

名前の変更とアイコンも選択できるので、

好きなもの、分かりやすいものを選択して、OKをクリック。

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

 

Excel のいつもの画面に戻るので、追加した【マクロ】タブを開いてみると、

こんな感じで出来ました。

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

 

これで、いつでも、どんなファイルにでも、クリック一回で行を追加することが出来ます。

 

今までの行追加って 

左側の行の数字の所をクリックして、

一行全部選択して、

右クリックして、

挿入をクリック

ではありませんでしたか?

 

 このマクロは、一行全部を選択する必要はないので、

例えば・・・

マウスポインタは、このマクロのボタンの上に置いておいて、

セルは 列Aの一行目に置いておく。

左手で下矢印キーを押して行って、挿入したい行に来たら、右手のマウスでクリック。

 

また、矢印キーでセルを移動させて、クリックで挿入。

なんて操作が可能です。

 

行を選択 → 右クリック → 挿入

なんて操作は1秒くらいかもしれませんが、

それがさらに短縮できる方法があれば、それを使いたくなってしまうものなのです。

 

それに、短い時間で作業、操作が完了すればするほど、

ストレスはたまりにくいと思います。

(少なくとも tuna-kichi はそう感じています)

 

Excel の操作が出来る人は、Excel その操作ができることを知っている 

ということなのです。(あたりまえですが)

その操作自体を Excel 自身にさせるように移行しませんか?

 

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

おまけ

”マウスポインタ動きません”

【Excel のこと01】のおまけでも紹介した、トラックボールマウスですが、

このマウスはボールをコロコロ転がさないとポインタが動きません。

 

 

普通のマウスではクリックと同時にマウス自体が動いてしまって、

クリック失敗したり、隣や、下のリンクをクリックしてしまう

ということがありますが、

このトラックボールマウスはそんな誤動作はありません。

 

ポインタの位置を決めたら、あとはボールに触らずにクリック!

 

 

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