皆さんはExcelを・・お使いになりますか?
私はといえば・・Excelで見積書や請求書・・備品購入リスト等・・ほとんどの作業をExcelで行っています♪
Excelは・・本当に多機能ですよね・・数式はもちろん関数やマクロまで・・。
全てを使いこなすのは、とても難しいものです。
目次
繰り返し作業は・・。
作業にもよりますが・・Excelで繰り返し同じような操作をする事って・・ありませんか?
私はよくあるんですよ・・というか・・ほとんどが繰り返し作業と言っても・・いいかも♪
しかし・・それって面倒ですよね・・そういう繰り返し操作はマクロ化するのが良いのでは?
え・・マクロって難しそう・・そうなんですよマクロはハードルが高いんですよね・・。
記録マクロを活用
Excelには記録マクロという機能が・・♪
記録マクロとは・・[開発タブ]の[マクロの記録]をクリックし、必要な操作をすれば操作の内容を記録してくれる・・そんな機能です。
この記録マクロを上手く使えば・・作業時間を大幅に短縮できます(^-^)
記録マクロにチョイ足し
記録されたマクロを実行しても・・記録した通りの動作でしか動いてくれません・・当たり前ですが(-_-;)
いくら同じ操作を繰り返すと言っても・・対象のセル等がその都度変わるもの・・。
そこで記録マクロで出来上がったマクロコードに少し書き足すことで・・そこのところをクリアしようと♪
最初からマクロを手で書き出すのは・・かなりハードルが高いですが、これだと必要最小限のところだけ覚えてしまえば・・。
実際に記録マクロを使ってみる
ここからは・・実際に記録マクロを使った作業を、行ってみようと・・あ・・その前に・・私の使っているExcelのバージョンは・・Excel2009・・なので皆さんがお使いのExcelとメニュー等が少し違うので、お手持ちのExcelのバージョンに読み替えて下さい・・ゴメンナサイ<m(__)m>
作業例として・・約590行のExcelファイルを見やすくするために・・1行ずつ空白の行を入れる・・そんな作業を想定してみますね♪
マクロの記録
まずは・・マクロを記録するために、リボンの開発タブを選択してください♪
もし・・開発タブが表示されていない場合は、[Excelのオプション]から表示するよう設定の変更が必要です(^-^)
開発タブが表示されたら・・開発タブを選択し[マクロの記録]をクリック・・すると[マクロの記録]ダイヤログが・。
マクロ名には適当な名前を(今回はMacro1を)・・マクロの保存先は「作業中のブック」を選択し[OK]をクリックします。
ここからマクロの記録が始まります♪
絶対参照と相対参照
マクロを記録中で注意が必要なのが・・絶対参照と相対参照・・これってセルの選択方法の違いで・・(-_-;)
絶対参照とは・・セルA1は必ずA1となります・・それに対して相対参照は・・現在のセルから縦横にいくつ動いたかという記録に・・(^-^)
今回だと・・まずセルA2を選択・・その後相対参照に切り替え3行め全体を選択・・。
次に3行目に左クリックで[挿入I]を・・3行目に新たな行が追加されたらセルA4を選択し[記録終了]をクリック・・。
Excelマクロの記録操作は以上で終了♪
VBAエディター
Excelのマクロは・・VBAエディターのModuleというところに記録されています♪
では実際どうやって記録されたマクロを見るのかというと・・。
[開発タブ]のマクロをクリック→マクロダイヤログでマクロを選択[編集]をクリック。するとVBAエディターが起動し記録したマクロを見ることができます♪
記録されたマクロを詳しく見てみると・・。
という内容が・・ではマクロ本文を、ひとつひとつを見ていくと・・。
1行目・・Range(“A2”).Select・・・・・絶対参照でセルA2を選択
2行目・・ActiveCell.Offset(1, 0).Rows(“1:1”).EntireRow.Select・・相対参照で1つ下の行を選択
3行目・・Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove・・1行挿入
4行目・・ActiveCell.Offset(1, 0).Range(“A1”).Select・・相対参照で1つ下のセルを選択
以上になります♪
繰り返し操作をチョイ足し
ではこのマクロにどのようにチョイ足しすれば・・(-_-;)
1行目のRange(“A2”).Selectは絶対参照なので・・この行を繰り返せば同じところをグルグルと回ることに・・。
2~4行目は・・相対参照なので繰り返し実行しても問題なさそうですよね・・なので繰り返すのは2~4行目ということに♪
このマクロを実行すると・・最初にA2のセルを選択し最後はA4のセルが選択されています・・最後に選択されたセルが一つ下のセルに移動しています(^-^)
そうすると繰り返し実行していると・・いつかは空白のセルを選択することになります♪
変数を使おう
変数ってご存知でしょうか?
学生の頃、数学で・・X+Y=Zなんて公式を教わりましたよね♪
この・・XやYが変数になります・・Excelのマクロでも変数が使えます!(^^)!
Exselの変数は・・数字以外にも文字や日付け等が使えます。
そこで・・1行目と2行目の間に・・dat1=Application.ActiveCellと記入・・これはdat1という変数に現在選択されているセルの内容を記憶する事に・・。
そして最後の行にも・・。
Do Until ~Loop
今度はどうやって繰り返し実行するのか?
Excelマクロで繰り返し実行するには・・Do Until ~ Loopというものが・・。
Do Until ~ Loopは・・条件式が成立するまでLoopまでの動作を繰り返すという物・・。
なので・・2行目と3行目の間に・・Do Until dat1=””と買い込む・・これはdat1が空白になるまで繰り返すという事・・空白を指定するときは「””」と記載する♪
そして最後の行にLoopを・・。
これでチョイ足しは完了♪
出来上がったマクロを実行
さて・・ようやくマクロが完成しました・・お疲れ様です
では・・早速マクロを実行してみましょう
どやって実行するかというと・・[開発タブ]→[マクロ]をクリック
マクロダイヤログで・・Macro1を選択し[実行]をクリック
すると・・目にもとまらぬ速さで・・Excelが動き出す♪
マクロの実行速度は、お使いになっているPCのスペックによりますが・・私が使用しているタブレットIdeaPad D330のCPUは・・Celeron N4000でお世辞にもハイスペックとは言えません(-_-;)
それでも・・ね♪
マクロを使えば作業時時間を短縮
Excelのマクロは・・なんか難しそう・・なんて思っていましたが意外と簡単に利用できます♪
もちろん・・もっと複雑なことになると・・。
しかし・・これで面倒な作業が・・一気に終わってしまいます♪
何よりも高速で動くExcelを見ていると・・俺PC使いこなしてる感・・半端ありません(^-^)
成れることが大切
物事は「習うよりも慣れろ」と言われています♪
Excelのマクロも同じです・・こまごまと使えるマクロを作り続ける事で、大掛かりまものが作れるようになるかもしれません♪
記録マクロを活用し・・作業時間を短縮できれば・・その分プライベートを充実させることができるかもしれませんね♪