【2019年】初心者におすすめのマクロ入門書「Excel VBAの教科書」徹底レビュー

Excel

どうもーーー!!

ファイアー飯塚です

 

 

今回はマクロ入門書におすすめ!「Excel VBAの教科書」をレビューしますすすす!!

 

 

感想を一言で言うとこの1冊あればVBAの基本は十分!!!

VBAについて知識皆無だった僕でもかなり理解が深まりました

 

 

およそ500ページと大ボリュームでしたが読み終えましたので感想をつらつらと書いていきたいと思います

※かなり文字数の多い記事です! お急ぎの方は目次からお好きな項目をどうぞ!

「Excel VBAの教科書」とは

amazonはこちら

 

楽天、yahooショッピングはこちら

2570円 (税込)

 

 

引用
ExcelVBAを基礎からしっかりと学ぶための教科書が登場。VBAの文法からはじめて、業務アプリの作成までが学べます。
これからVBAを始める人から、実践的なテクニックを求める人まで、幅広い層に対応する、VBAプログラマ必携の一冊です。

 

タイトルの通りまさにVBAの教科書といった1冊

 

 

ページ数はおよそ500ページ

かなり読み応えがありますが、図や表ありすらすらと読めます

 

 

amazonのレビューは脅威の4.5点

目次に戻る

スポンサーリンク

購入のきっかけ

きっかけはExcelの事についてもっと学びたいと思ったから

 

 

( ^ω^)・・・

 

 

普通ですね

というのもですね、この本を読む前に「Excel 最強の教科書」を読んだんですよ

 

 

仕事でExcelめっちゃ使ってたんやけど、全然使いこなせてないなと思いましてね

んでExcel 最強の教科書を読んだら初めて学ぶ事が多く目から鱗だった

 

 

ほんでさらにExcelについて理解を深めたいと思いVBAを学ぶことに

 

 

きっかけはこんな感じ

ってことでExcel自体の基礎がまだできてない方は先に「Excel 最強の教科書」を読むといいかもですよ

 

 

飯塚
飯塚

レビュー記事参考にして!

 

目次に戻る

 

「Excel VBAの教科書」徹底レビュー!!

感想含めつらつらと書いていきますぞ!

△付きは不満点です

VBAの基礎はこの1冊で十分

 

冒頭でも述べたけどVBAの基礎はここに全て詰まっていると思います

後でまた紹介しますが、コンテンツ内容がこんな感じ

 

 

 

VBAってなんやねん?という話から、実践的なVBAコードまで網羅されてます

 

 

使い方からしっかり書かれてます

 

 

そして本書後半から実践的なVBAコードがずらりと

もちろん解説もしっかりと!

 

目次に戻る

初心者でもわかりやすい解説

わかりやすいて・・・だいぶ当たり前の事ですね、でも、伝えたかったので!

 

 

実際に解説のページを見てもらったほうがいいですな

 

 

forループの解説画像です

基本となる語句の説明をしてコードを上から説明してくれます

 

コードの一連の流れが把握できてわかりやすい

 

 

実行結果画面もあるので、どう動くかが視覚的にわかる

 

 

僕はVBAについて何も知らなかったですが

わかりやすい解説のおかげで理解できました

 

目次に戻る

実践的なコード多数

本書の後半は実践編となっており、実務に直結できそうなVBAコードがたくさんのってます

 

 

たとえばこんなコード

 

 

別のエクセルファイルからデータを持ってきて整理するコード

こういう機会って仕事で多々あると思うんです

 

 

他にも実際の仕事で使えるコードがたくさんあります

表に項目を追加していくコード、フォルダ内にバックアップファイルを作るコードなどなど・・・

飯塚
飯塚

これで業務効率上げて定時で帰ろう!

 

目次に戻る

サンプルコードをダウンロード可能

これ重要!

本書で紹介されているコードはサンプルコードとしてダウンロードが可能です

 

 

こんな感じでテキストファイルとしてコードもらえました

 

 

サンプルコードがあると個人的にだいぶ評価あがる

自分で書かなくても使えるし、勉強にも使える

 

 

飯塚
飯塚

本書にURLあるから購入したらダウンロードです!

 

目次に戻る

デザインがシンプルで見やすい

 

シンプルイズベストといった感じでしょうか

余計なイラストはなくシンプルなデザイン

 

 

飯塚
飯塚

ごちゃごちゃしてるものより私は好きでした

 

目次に戻る

インデックスが便利

まぁ最近の本では当たり前かも

便利やなぁと思ったんで挙げました

 

 

飯塚
飯塚

ただの感想だけど重要

 

目次に戻る

背表紙にコンテンツが何気に嬉しい

この気持ち分かる人いないですかね???笑

後ろにコンテンツがあると読み返しやすくないですか?

目次のページを開く手間が省けるので個人的に嬉しいんです

 

 

飯塚
飯塚

ただの感想だけど重要 2

 

 

さぁここまで良い事ばかり挙げてきましたが、ここからは少しだけ不満点を!

 

目次に戻る

△でかい

 

でかい笑

 

 

まぁなにせ500ページぐらいありますからね

でかいし重い(笑)

携帯するのには向いてないかもですね

 

 

飯塚
飯塚

家において使う辞書的な感じで考えるといいかも

 

目次に戻る

△プログラムを知ってる体で話をしてくる

これは多少思いました

実際に見ていただきましょう

 

 

画像はマクロのパーツ化の章なんですがGettarSettarという単語が唐突に出てきました

筆者はプログラミングの知識が全くないのでGetter(*^^*)? Setter・ω・?ってなりました

 

 

まぁちょろっと説明は書いてくれてるんやけどね

 

 

こんな感じで「プログラミングで言うところの〇〇~~」みたいに、プログラミングを知ってる体で話を進める部分がいくつか見られました

 

 

読み進めていくうえで支障はないんですけど、プログラミング知らないよー!って思ったので挙げさせてもらいました

 

 

飯塚
飯塚

結局のところプログラミング知識0の僕でも読めたから大丈夫なんやけど

 

目次に戻る

△誤字・脱字多い

多くない!?!?!?!?

読んでると、ん?ってなる部分がまぁまぁあったですぞ!!!

hello VBA! が hell VBA!になってたり・・・

hellって地獄やぞ!笑

本書のサポートページで誤字・脱字一覧が見れるから良いんだけれど

「ExcelVBAの教科書」正誤情報 | | SBCr
SBクリエイティブの雑誌、ムック、書籍、コミック、デジタルコンテンツの商品紹介サイト

購入される方は読む前に確認しとくべきです!

 

 

飯塚
飯塚

良書なのでその辺はしっかりしてほしかった!

 

目次に戻る

本書はこんな人におすすめ

 

・VBA初心者だけど興味がある
・大量作業を一瞬で終わらせたい
・業務効率を上げて定時で帰りたい
・仕事でExcelをよく使う
・めんどくさがり屋

 

ちなみに僕は全部当てはまってました

 

目次に戻る

コンテンツ紹介

ずらーっと簡単にコンテンツ内容を紹介しますぞー!

Chapter1~9は基礎編、10~19は実践編となっております

 

Chapter1

VBAを始めるための準備と仕組み

 

 

マクロの始め方、実行の仕方、ウインドウの見方、保存の仕方など超基本的な内容

知識皆無の僕にとっては非常にありがたい章でした

VBAって何?(^q^) 使い方は?(^q^) 状態でしたからね

目次に戻る

Chapter2

オブジェクトでExcelの機能にアクセスする

 

 

オブジェクト、プロパティ、メソッドの説明や、セル選択&入力の基本を教えてくれます

こちらも初心者にはありがたい基本的な内容

丁寧に説明してくれてあざます!

 

目次に戻る

Chapter3

もっとプログラムらしく ~VBAの基礎文法~

 

 

演算子の解説の後にif文、forループなどの説明があります

プログラミングらしくなってきました

 

目次に戻る

Chapter4

「文字列」と「日付」と「時間」の扱い方

 

 

タイトル通り文字列、日付、時間の解説があります

いやーこれは意外と難しいと感じました

シリアル値とか考えた事もなかった概念なので復習必須ですわ~

 

目次に戻る

Chapter5

リストを一気に処理 ~配列・コレクションの仕組み~

 

 

いわゆる「配列」の考え方を教えてくれる章

Array関数、dictionaryオブジェクトなどなど

コードの中で頻繁に出てくるものなので重要ですな

 

目次に戻る

Chapter6

そのマクロ、いつ実行するの?

 

 

マクロ実行タイミングの設定方法が学べる

マクロって自分で実行するもんと思ってましたが、

セルの値が変わった時一定時間後に実行なんてのもできるんですね

 

目次に戻る

Chapter7

プログラムにつきものな、エラー処理とデバッグ

 

 

エラーはプログラムやってると必ず直面する問題

エラーの対処法や予防方法がまとめてあります

マクロが思い通りに動かなかったら嫌ですもんね

 

目次に戻る

Chapter8

外部ライブラリでVBAの機能を拡張する

 

 

Excelにない機能も外部ライブラリからもってこれますよーって事が書いてます

数ページしかなくざっくりとした説明のみですね

 

目次に戻る

Chapter9

マクロのパーツ化やユーザー定義関数

 

 

サブルーチン化やユーザー定義関数、カスタムオブジェクトについて書かれた章

この章は難しいです何回も復習する必要がありますね

 

目次に戻る

Chapter10

目的のセルへアクセスする

 

 

ここから実践編

表の特定列だけ取得したり、数式のみのセルだけを取得したり・・・

VBAに欠かせないアクセスの考え方が学べます

 

目次に戻る

Chapter11

セルの値と見た目の変更

 

 

表示形式や文字色、幅高さの変更方法が学べます

この辺は手動でやるより自動でパパっとやれるようになるといいですね

今まで手動で色々変えてたのが馬鹿らしくなる

 

目次に戻る

Chapter12

VBAでのデータ処理

 

 

フィルターの話だったり、検索の話だったり

こちらも業務効率には欠かせないですね

・・・もはや全部大事や

 

目次に戻る

Chapter13

VBAでのファイル処理

 

 

他ブックのデータを取得するやり方が主に書かれてます

これまた大事

仕事上、別のExcelファイルからデータを抽出する機会がたくさんありますので自動化できたら最強ですわ

 

目次に戻る

Chapter14

集計・分析結果を「出力」する

 

 

印刷方法や他人にブックを渡す準備について書かれてます

印刷設定までできるなんてVBAってすごいね

 

目次に戻る

Chapter15

外部データとの連携処理

 

 

CSVファイルのデータ読み取ったり、テキストファイルのデータ読み取ったりを学べる

CSVファイルを頻繁に使う人必見

 

目次に戻る

Chapter16

Web上のデータをExcelに取り込む

 

 

Webからデータを取り込む方法や、Power Queryについて書かれてます

XML形式の解析方法とかね

正直、全部は理解できませんでした笑

 

目次に戻る

Chapter17

マクロの実行速度を上げる

 

 

タイトルの通りです

同じ用途のマクロでもコードによって実行速度がかなり変わるようですね

どうすれば実行速度が速くできるかを学べます

 

目次に戻る

Chapter18

シートを利用した入力インターフェースの作成

 

 

入力専用シートについて学べます

上の画像のようにボタンぽちっと押したら情報が記入されるような仕組みも作れちゃうよーと

ここまでマスターできたらかっこいいですよね

 

 

後半はフォームコントロールの基礎が書かれています

 

目次に戻る

Chapter19

ユーザーフォームの利用

 

 

画像のようなオリジナルのフォーム作成手順を学べます

システムエンジニアになったみたいでカッコイイ

 

目次に戻る

マクロ作ってみたよ

マクロ知識0だった僕が本書を読んで作ってみたマクロを紹介します

初心者が作ったコードなので改善点が5兆個ぐらいあるかもですが・・・

初心者でもこの本読んでこんなの作れたよー!!!ってのを伝えたいです

 

 

それでは紹介しまーーす!!!

 

目次に戻る

マクロ内容

マクロブックと同じフォルダにあるExcelファイルからデータを抽出するマクロ

を作りたいと思います!

 

 

もう少し詳しく書く↓

 

同フォルダ内に以下のファイルを作ります

・マクロ練習.xlsm (マクロを記述するブック)

・実験結果その1~3.xlsx (実験データが入ってるブック)

 

 

実験結果その1~3には「データ」というシート内に実験結果入っているとします

 

 

ほんで実行したらマクロ練習に実験結果その1~3のシートが追加されて、実験結果もコピーされるようなマクロを作ります!

 

 

 

マクロ実行すると・・・↓↓↓

 

 

結果はこんな感じに

 

目次に戻る

コード

Function getbookpathlist(folderpath As String) As Variant
    Dim dic As Object, tmpfile As Object, tmpextension As String
    Set dic = CreateObject("scripting.dictionary")
    
    With CreateObject("scripting.filesystemobject")
        
        For Each tmpfile In .getfolder(folderpath).Files
            tmpextension = .getextensionname(tmpfile)
            
            If tmpextension = "xlsx" Then dic.Add tmpfile.Path, "dummy"
        Next
        
    End With
    
    getbookpathlist = dic.keys

End Function

Sub fire_izuka_tensai()
    
    Dim bookpathlist As Variant, tmppath As Variant, tmpbook As Workbook, cpyrange As Range, pstrange As Range, tmpsheetname As String, addedsheet As Worksheet
    
    
    Set fso = CreateObject("scripting.filesystemobject")
    
    bookpathlist = getbookpathlist(ThisWorkbook.Path)
    
    Application.ScreenUpdating = False
    
        For Each tmppath In bookpathlist
    
            Set tmpbook = Workbooks.Open(tmppath)
            Set cpyrange = tmpbook.Worksheets("データ").Range("B2").CurrentRegion
            cpyrange.Copy
            
            
            ThisWorkbook.Worksheets.Add after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
            Set addedsheet = ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
            tmpsheetname = Replace(fso.getfile(tmppath).Name, ".xlsx", "")
            addedsheet.Name = tmpsheetname
            
            
            Set pstrange = addedsheet.Range("B2")
            pstrange.PasteSpecial xlPasteValues
            
            addedsheet.Cells.RowHeight = 18
            ActiveWindow.DisplayGridlines = False
            
            tmpbook.Close (False)
    
        Next
    
    Application.ScreenUpdating = True
    
End Sub

 

 

見にくかったらすみません

 

 

とりあえず同フォルダ内のエクセルファイルリスト作る関数自作して、for eachで回すっての作ってみました

実験結果ブック内のセルをコピーするように作ったけど、冷静にシートそのものをコピーで良かったなぁと後で思いました(^^;

まぁいいや!

 

 

あ、あと追加したシートの行幅を18にするようにもしました

なんとなく!

 

 

あ、あとマクロの名前はファイアー飯塚天才にしました

触れないでください!

 

 

飯塚
飯塚

これでどうなるか実行してみましょー!

 

目次に戻る

実行結果

完璧ですね(さっきとほぼ同じ画像つかって申し訳ない)

まぁ全然成功しなくて何回も書き換えたんですけど!

 

 

ActivesheetとかThisWorkBookの概念がなかなか難しい

練習あるのみですね!!!

 

目次に戻る

口コミ

ネットで調べながら独学をしてましたが本書を読んでみてこぼれていた枝葉を拾えました。

教科書と呼ぶにふさわしく網羅的に書いてあります。

まだ1回しか読んでないですが何度か読んで基礎を固めたいと思っています。

それができる本だと思います。

 

飯塚
飯塚

ネットにもたくさん情報はあるけど1冊持ってると本当に違う

 

 

私自身、エクセルはある程度使えると思っていましたが、この本を歩読むと私など子供くら

いのレベルかもしれません。変数やループもろくに使えていないのに、それらは基礎編でし

た。これからも仕事でエクセルを使うと思います。もし、そうでなくても覚えておいて損は

ありません。再度、勉強したいと思います。

 

☆1つ減らしたのは、サイズが小さく本が厚いことです。紙面を大きくして、もう少し厚み

を減らせば、更に読みやすくなると思います。それが残念です。

 

飯塚
飯塚

確かにでかい。笑 まぁ持ち歩かないから別にいいけど!

 

 

まだ教えてないことや用語を安易に先に使ってしまったり、具体例が足りなかったりなど、教える側としての配慮がやや足りません。

説明も、もっと噛み砕いた平易な表現があると感じます。

他の本で先に学んでいれば、ハイあれのことねと理解できますが、この本を入り口にするとすんなりと進めないでしょう。

扱っている内容は大変よいので勉強にはなるのは間違いないですが。

 

飯塚
飯塚

確かに教えてない事を使ってしまう点は少しだけありました 分からない単語が出たらその都度調べるといいでしょう

 

目次に戻る

まとめ

本書をまとめると

・マクロの基礎を習得できる
・実践的なコードを学べる
・ちょっとでかい(笑顔)

ってところでしょうか

 

 

マクロ(VBA)を勉強したい人の1冊目はこれで間違いないと思います

 

 

僕はとりあえず基礎が分かったんで次はコード集的な本が欲しいかなーと思ってます

そんなのあるのかわかんないけどね

 

 

飯塚
飯塚

それじゃまた別の記事でお会いしましょう!

 

amazonはこちら

 

楽天、yahooショッピングはこちら

 

 

P.S.

Excelについて学びたい方は「Excel最強の教科書」がおすすめですぞ~

コメント

タイトルとURLをコピーしました