ALL EXCEL Program VBA VBA-1週間で分かる

【Chapter 5-実例/紹介】超初心者から始めるEXCEL VBA 【1週間で分かる】

学習パート

本記事のパートでは『Chapter 5 -実例/紹介』を説明します。
本パートでは、Chapter1~4で学んだことをベースに実例のコードを紹介していきます。

これまでの学習パート

これまでの学習パートを未学習の方向けに 以下にリンクを貼っておきます。

Chapter 5 - VBA活用 実例の紹介

朝一ルーティンファイルを開く

Chapter-4深堀の最後の方で紹介したファイルオープン方法。
毎朝ルーティンで利用するファイル・Webサイトがあれば、
簡単に自動化が可能。
 
オープンしたいファイルのフルパスを変更してご利用ください。
 
<ソースコード>
<併せて読みたい>
 └理由:EXCELの開き方を忘れた人向け。
 
 └理由:フルパスの意味が分からない人向け。
 
 └理由:ボタン1つでマクロが実行され便利になる。
 
 └理由:EXCEL以外の開き方の紹介

EXCEL↔EXCEL間の自動転記

継ぎ足しデータ転記方法の一例を紹介します。
 
 
◎やりたい事
Book2.xlsx の「2月実績」シートからBook1.xlsx の「月次累計」シートに
継ぎ足しでデータを追加したい。
 
◎条件
Book1・Book2のEXCELファイルが未オープンの状態からスタート

<ソースコード>
◎実行結果の確認
Book2.xlsx のデータが  Book1.xlsxの最後尾に継ぎ足しで登録されていることを確認できる。

<併せて読みたい>
 └理由:セル・レンジの考え方を忘れた人向け
 
 └理由: Copyメソッド忘れた人向け
 
 └理由:変数の概念を忘れた人向け。
 
 └理由:最終行の取得コードが納得できない人向け。
 
 └理由:EXCELの開き方を忘れた人向け。
 
 └理由:フルパスの意味が分からない人向け。

EXCELのデータ成形

データ成形の一例をコードと共に紹介します。
また、For Next最終行取得併用時の注意点も説明します。
 
 
◎やりたい事
Book1.xlsx のB列-商品名で、価格変更があったものをD列に記載したい。
 
 
◎条件
Book1.xlsx は既に開いている状態からスタート

  <ソースコード>  
<解説-For Nextと最終行取得の併用時の注意点-
For Nextの特性上 1ループするごとに i は 1ずつ増えるので
Cells(行 + i  ,  列)にすることで、行を1つずつズラすことが出来る。
そして、For  i  = 0 to Lastgyou にすることで
確実に最終行までのアプローチすることができる。
 
しかし、For Next 利用時の注意点でもあるが、
今回、最終行が 10行目だったので、
For  i = 0 to Lastgyou は、実質 0 to 10となる。
 
つまり、範囲としては
i =0の時は Cells(3 + 0, 列)  →3行目へアプローチ 
i=10の時は Cells(3 + 10,列)→13行目へアプローチ

本来の最終行は10行目なのに対し、13行目までアプローチしてしまう。
つまり、Cells(3+i,列)の3の部分をLastgyouから減算させる必要がある。
 
  For  i = 0 to Lastgyou -3 (実質 0 to 7となり、Cells(3+7,列)= 10行目までのアプローチとなる)
 
開始時点の行Lastgyouから減算する必要があることを覚えておきましょう。

<併せて読みたい>
 └理由:セル・レンジの考え方を忘れた人向け
 
 └理由:変数の概念を忘れた人向け
 
 └理由:最終行の取得コードが納得できない人向け
 
 └理由:  IF文を忘れた人向け
 
   └理由:  For Next を忘れた人向け  

Chapter 5 - 参考書で必要なものは逆引きコード本+利用しているもの紹介

逆引きコード本がおすすめする理由

逆引きコード本を使用すれば、
VBAでやりたい事を逆引き=検索できるため、VBA作成時間が短縮できます。
 
もちろん、Webサイトで都度 調べても 全然問題ないのですが、
逆引きコード本の良いところは、
全コードが統一した形で表現されているため非常に分かりやすいいうこと。
そして、連動性のあるコードが前後に記載してあるということです。
 
Webサイトを横断しての調べものは、
各サイト毎にプログラム構成のクセが違っていたり意外に理解するのに時間がかかります
また、コードの情報各ページごとショットでの記載が多いため、
別のコードで解決できるかもしれない・・・といった閃きが起こりにくいです。
 
VBAを早く上達する一番の近道
逆引きコードを活用し たくさん実践することだと
今だからこそ深く思います。
 
<逆引きコード本 がおすすめな理由>
①VBA作成時間を短縮できる
②統一されたコード表現のため 自身のコーディングにも統一性がでる
③連動性のあるコードが前後に記載されているため 閃きを与えてくれる

おすすめする逆引きコード本

「Chapter 2-基本/動作」と「Chapter 3-基本/応用」を理解すれば、
逆引きコード本を理解できる土壌はそろっているので
初めから逆引きコード本を手に入れて問題ありません
 
とは言っても、逆引きコード本多数あり当たり外れがありますので
私自身が現在お世話になっている VBA逆引きコード本を紹介します。    
 
とりあえず、これを持っておけば間違いありません
 ※紹介するもの以外がハズレということではありません。
 
おすすめな理由は、とにかく見やすいです。
情報量もちょうど良く、読み味が非常に良いです。
 
ハッキリ言ってコスパが良いです。
定価の値段は、時間単価 2,000円/hの業務をたった1時間効率化すれば
すぐに元値は回収できますので 迷ったらこちらを手に取っていただけばと思います。

Chapter 5 - Next Stageの紹介

DOM(IEブラウザ連携)

DOMとは「Document Object Model」の略となり、
 
html・head・body・td・tr・p・aなどのHTMLドキュメント要素に
直接アプローチできる仕組みとなります。
 
ちまたでは、Webスクレイピングと呼ばれたりしていますが、
EXCELでも DOMを使用することができ
InternetExploerブラウザ(IEブラウザ)を通じて、
Webサイトからデータ抽出・データ入力・ボタン押下 などを
EXCEL側から自動で操作できます。
 
EXCELでWebスクレイピングができれば、
EXCEL記載の情報をWebサイトに自動投入できますので、
自動化の範囲が一段と広がります
 
 
また、DOMの需要を調べてみると、
クラウドソーシング最大手「Crowd Work」では定常的にDOMによるWebスクレイピングの依頼があることから
一定の需要があるといえ 副業として稼ぐことも可能です。
 
 
私もEXCEL-DOMによるツール開発の案件を行い収入があることから、
将来 本サイトでも 「1週間で分かるEXCEL DOM 」 という形で
ご説明が出来たらと考えています。

Chapter 5 - 終わりに

VBAを独学で学ぼうとすると、困る場面が多いです。
 
参考書では ボリュームが多すぎて最後まで読み切れないし、
それ使うの?っていうコードばかり紹介されてますし、
全てが重要のように扱われていて 辞書みたいな分厚い量を暗記しない
VBAを組んではいけないような強迫観念に駆られたり。
 
一方、Webサイトを元に勉強しようとすると、
Tips形式(VBAの小ワザ)なものが多く、
既にVBAが出来る前提での紹介のされかたが殆どでした。
運よく『1から始めるVBA』的なサイトに巡り合っても
学習全体スケジュールが見えないゆえ、分厚い参考書の記憶がリフレインし、
ひたすら長いトンネルを走り続けさせられている感が出て挫折してしまったり。
 
 
そういったことから、
VBA 広く・浅く・網羅的に学べる入門書チックなWebサイトが有れば良いのにな思い、
過去の自分のために本記事を作成するに至りました。
 
VBAで 実現したい事は、調べれば大体 何でも出てきます。
しかし調べたものを吸収できる土台がなければ 調べたところで実行できません。
本記事が そんな土台=VBAを理解する基礎となれることを心より願っております。




  • この記事を書いた人

Nakamura(nkmr)

NakamuraBlog(ナカログ)運営 [ 2.5万PV/月 ] │ブロガー│ 【経歴】IT会社に新卒入社 ▶︎ 通用しない ▶︎ プログラミングに出会う ▶︎ 年間1億円以上のコスト削減プログラムを開発 ▶︎ 会社賞受賞 ▶︎ 少しでも世の中の苦しんでる私と似た人に役に立てればと思いブログを開設。 ● 文系がプログラムと出会って会社員人生が変わった人。 ● 2020年より「嫁を置いて1人旅」の旅動画を投稿開始。

-ALL, EXCEL, Program, VBA, VBA-1週間で分かる
-, , , , , ,