こんにちは爆  笑 ペコセルです気づき
 
前回で準備が整いましたので、今日はマクロの記録を使って、マクロとはどんなコーディングなのか見ていきましょう電球
 
使い方は簡単です。
 
開発タブ→コードグループのマクロの記録→マクロの記録ダイアログのOKをクリックすると、マクロの記録が開始します。
 
好きな操作をして、 開発タブ→コードグループの記録終了を押します。
これだけです。
ごく単純な操作だけなら、マクロの記録で十分かもしれません。
 
 
どんな記録がされているかは、開発タブ→VisualBasicを押して、VBE画面から確認できます。
 
例えば、A2に5を入力して、 B2にコピペしてみると、
 
 
Sub Macro1()
 
’Macrol Macro
Range("A2").Select
ActiveCell.FormulaR1C1="5"
Range("A2").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
 
End Sub
 
 
こんなコードになりました。
 
Sub ~ Sub Endが一つのプログラムです。
 
その中の文は
オブジェクト(ブック、シート、セル).メソッド(どんな操作をするか)
 
オブジェクト(ブック、シート、セル).プロパティ(値、数式、色、セルの場所など、セルにまつわる情報) =値
となっています。
 
 
上記の例でいうと、 Range、 ActiveCell、 Selection、 ActiveSheetがオブジェクトです。 
メソッドはSelect、 Copy、 Pasteです。 
プロパティはFormulaR1C1 (数式)です。
 
ちなみに、緑色になっている「Macro1 Macro」 はメモです。 
「'(シングルクォーテーション)」 を付けるとその後はメモになりますので、 マクロの内容や注意事項など書きたい時は利用してみてください。
 
 
 
それでは、一旦シートを綺麗にして、今記録したマクロを実行してみましょう。 
実行するには何通りか方法があります。
 
①ノーマル
開発タブ→コードグループのマクロ→マクロを選ぶ→実行
 
②VBE画面から実行する時など
開発タブ→VisualBasic→コードウィンドウに実行したいマクロを表示し、カーソルをSub~End Subの間に合わせる→右向き三角
 
③ボタンを作る。 他の人も使う場合に便利
開発タブ→コントロールグループの挿入→フォームコントロールの一番左上を選択→シート上にボタンを作る→マクロと紐づける
 
 
④ 開発タブあるいは新しいタブ等のリボンにマクロを設置する
多用するマクロに便利
個人用マクロブックの回で説明します。
 

①~③好きなものを試してみてください。 先ほどマクロを記録した時と同じ結果になりましたか?
 
 
この時ひとつ注意していただきたいことは、戻るボタンがグレーアウトしてませんか?
マクロでの操作は戻るボタンで戻れません。
ですので、 実行前に必ず保存してくださいね!!
※自宅で使用しているのがExcel2019なので、もしかしたら、会社で使用しているものと画像が異なるかもしれません。
大きく違いそうなところは都度補足します。
 
それではマクロを組むための準備をしていきましょう電球
今回は3本立てです。ちょっと長くなります。
 
①開発タブの表示
②VBE画面の説明
③マクロ有効化(セキュリティセンターの設定)
 
::::::::::::::::::::::::::::::::::::::
 
①開発タブの表示
まずはマクロを編集する場所、 開発タブを表示します。
 
リボンと呼ばれるところの隙間 (何もない所)で右クリック→リボンのユーザー設定をクリックしましょう。
 
つづいて、Excelオプションのリボンのユーザー設定が表示されるので、
開発にチェック→OK
 
::::::::::::::::::::::::::::::::::::::
②VBE画面の説明
 
画像のように開発タブが出てきたでしょうか?
そうしたら、 開発タブの中の 「Visual Basic」 を押してください。
 
 
ここはVBE画面と呼ばれていて、いくつかのウィンドウから構成されています。
コードウィンドウ (右)
今はまだ表示されていませんが、マクロのコードを書く場所です。
 
プロジェクトエクスプローラー (左上)
マクロやその他諸々管理するウィンドウです。
この勉強部屋では、のちに登場する標準モジュールを主に使います。
 
プロパティウィンドウ (左下)
モジュール名(マクロのコードを書いたシート名)を変更できます。

 
 
次に、マクロのコードを書くシートを追加してみましょう。
 
新しいモジュールを追加する時は、プロジェクトエクスプローラー(左上)のモジュールを追加したい「VBAProject(今開いているエクセルブックの名前)」の中で右クリックします。
挿入→標準モジュールを選びましょう。
 
 
そうすると、プロジェクトエクスプローラー (左上)に
VBAProject (ファイル名)→Microsoft Excel Objects 標準モジュール→各モジュール(Module1, 2,...)
と、階層的に表示されます。
 
 
モジュール名を変更したいときは、各モジュール(Module1, 2,...)をクリックして、
プロパティウィンドウ(左下)の(オブジェクト名)の右側に入力すれば変えられます。
 
コードウィンドウの表示を違うモジュールに切り替えるときは、クリックではなく、ダブルクリックします。(後々、複数のモジュールを扱うようになると、使いますので、覚えておいてくださいね!)
 
 
 
モジュールを消したい場合は、
削除するモジュールの上で右クリックします。
Module1 (モジュール名)の解放をクリックして、「削除する前にModule1をエクスポートしますか? 」では「いいえ」を押してください。

 
::::::::::::::::::::::::::::::::::::::
③マクロ有効化
 
今、実際にVBE画面を開いているなら、一旦マクロ有効ブックとして保存してみましょう。
「名前を付けて保存」で、ファイルの種類を「Excelマクロ有効ブック」に変更します。
 
 
一度そのファイルを閉じてから、再度開いてみると、 「セキュリティの警告 マクロが無効にされました。」 と出ると思います。
 
コンテンツの有効化をクリックすれば、マクロが有効になりますが、
毎回クリックするのは面倒くさいという方は、 設定を変える必要があります。
 
開発タブを出した時のように、リボンの何もないところで右クリックして、「リボンのユーザー設定」を選択してください。
 
トラストセンター→トラストセンターの設定を順に押しましょう。
画像では「トラストセンター」になってますが、バージョンが異なると「セキュリティセンター」の場合があります。
 
次に、マクロの設定→「すべてのマクロを有効にする」→OKです。
ファイルタブから、オプション→セキュリティセンター→セキュリティセンターの設定→マクロの設定→「すべてのマクロを有効にする」でも設定できます。
 
 
「推奨しません。」とも書いてありますので、心配な方は、 「信頼できる場所」にある場所にブックを保存します。
 
信頼できる場所→どれかパスを選んでOKです。
新しい場所を追加することもできます。
この設定をすれば、 セキュリティの警告は表示されなくなるはずです。
 
以上で、マクロを使うための準備が終わりました。 
お付き合いいただきありがとうございました爆  笑
次回は「マクロの記録」 を使って、 VBAのコードを見てみましょう。

まずは、マクロの特徴を確認してみましょう電球

 

マクロとは、決まった操作を記録させることができる機能です。

エクセルの機能だったらだいたい詰め込めます。

 

 

☆便利なところ

①反復作業であれば、自分の手を動かさなくても、マクロが働いてくれます。

②作業時間の短縮

③間違いが少なくなる

④誰が使っても同じ結果が得られるので、チームで共有すればチーム全体の効率が上がります。

 

つまり、時間と心の余裕ができる分、他のことにも目を向けられます。

 

ただし、扱うデータの形が変わると手直しが必要になることがあるので、直しやすいように書き方に工夫が必要です。

 

 

☆向いている人(あえて言うなら)

①英単語がある程度わかる人

コーディングには英単語をたくさん使います。

ですので、知識があった方が見返したときに理解でき、メンテナンスする際にどこを直せばいいか分かりやすいでしょう。

 

②共通点や規則性を見つけるのが得意な人

(数列など簡単な数学が分かる人)

規則性を利用するほど、文が短く、柔軟なマクロができます。

 

例えば、A列の偶数行(A2,A4,A6,A8)に「1」を入力するとしましょう。

一つずつ書くと、

    Range(”A2”)=1

    Range(”A4”)=1

    Range(”A6”)=1

    Range(”A8”)=1

となります。

 

では、数列を利用するとどうでしょう?

偶数は2n(n=1,2,3,4)と表現できますので、

    For n=1 to 4

                   Cells(2n,1)=1

            Next n

となります。(Cells(2,1)はA2、Cells(4,1)はA4のこと)

 

仮に、これがA2~A20に「1」を入力するよう、後で変更になったとき、どちらの方が手直ししやすいか、なんとなくわかっていただけると思います。

 

RangeやCellsなど、詳しくは今後書いていきます。

今は分からなくても全く問題ありませんので、ご安心ください。

 

 

いかがでしたか?

特性が何となく伝わったでしょうか?

 

もしあなたが業務時間中、長時間キーボードとマウスから手が離せないような状況なら、ぜひ脱却しましょう。

のんびりお茶を飲みながら、マウスをカチカチするくらいで仕事が捗ったら嬉しいですよねコーヒー

 

::::::::::::::::::::::::::::::::::::::

ちなみに

 

転職等でマクロを作った人がいなくなった後、暫くは問題なく使えていたのに、データの形が更新されたことにより、急に使えなくなって困るということがよくあるようです。

 

そういった理由により、脱エクセル(WEBデータベース化)が進んでいる会社もあるという記事も読んだことがあります。

 

私の意見としては、ご自身が在籍している間は自由にマクロを使っても全く問題ないと思います。

会社にきちんと労働力を提供できて、自分にもメリットがあるwin-winの関係ですから。

 

ただ、退職時・異動時は後の人が困らないように、マクロを使わないマニュアルで引継いだ方がいいかもしれませんね。