2019-12-27に更新

VBAをパーフェクトにマスターするシリーズ♪ 2章「式と値」「パーフェクトExcel VBA」

■前回の記事

VBAにもっと詳しくなろう♪ 「パーフェクトExcel VBA」

これの続きを書きました。
VBAをパーフェクトにマスターするシリーズ♪
今回は「2章」で新しく知ったことと、思ったことを簡単にまとめました。
詳細につきましては、書籍をご覧ください。

■前置き

分厚さがすごい書籍です。なかなか開くのに気合というか勇気がいりますネ!

私は今社内で、VBAで、ほぼ一人開発をやって約半年になります。
そして来年は、すこし他の人に伝授する機会が与えられそうなので、、

人に教えるには、自分が理解していないといけません。
半年間の実務で「VBAやってみたらできた」という感じなのです。

もっと体系的に理解したい、より良いコードを書きたい、と思っていたところで、
ベストな書籍に出会えたと思っています。

そんな状況なので、もう本がどんなに分厚くても、
開かざるを得ないですよね。

というわけで、
前回は1章にしか触れていませんでしたので、
今回は2章以降に入りたいと思います。

リアルタイム学習記録です。

■1章の後半では、

1-4 本書を使ったVBA学習の進め方
「2章から7章にかけて、VBAの体系を構成する以下の要素について、小さな要素から順に積み上げるように解説をしていきます。
これらの章は飛ばさずに順番に進めるようにしてください。

と書かれていたので、
順番に進めていきたいと思います。

1-5 Visual Basic Editorについて

Visual Basic Editorについて、
知らなかったことがいろいろ書かれてました。

そのボタンは押したことがない、というものがいくつかありました。
基本の操作方法の知識は大事です。知る機会が得られてよかったです。

F2キーを押して、
オブジェクトブラウザを表示したこともありませんでした。
これから使っていこうと思います!

■2章「式と値」

2-1 式とその構成要素

「式とは何か」の説明から始まります。
主に、言葉の定義の説明です。国語の勉強をしているようです。理解が難しいです。
私は本は雰囲気で読むので、あまり丁寧に文字を追うということをしないのですが、
丁寧に読もうと思って、ところどころ音読しながらゆっくり読みました。

私はC言語を職業訓練で習い、自分でもJava等を学習しています。
そのため、ある程度のプログラミング言語の前提知識はあります。

なので、私にとっては「VBAではどうなのか?」というところが、
特に学習のポイントになると思っています。

始めて読む人が、この言葉の定義の部分で、ん?わからない???となった場合、
とりあえずさっと流して、先に進むといいと思います。
わからなくても進みましょう。(私も←告白)

2-2 データ型

VBAで扱えるデータ型について、
大事なポイントは「未初期化状態の値」の把握です。
もともとは何の値が設定されているかに意識を向けて、初期化したいものです。

ここに、String型の「未初期化状態の値」は、「vbNullString」と書かれていたので、
さっそく先ほどのF2キーを押して、オブジェクトブラウザで検索してみました。

なるほど!と思いました。

ブール型

VBAでは、「True」 は 「-1」、「False」 は 「0」と等しいと判定されるそうです!!

「True」は「-1」だけだそうです。
(他の言語だと0以外は全部True扱いになったりもしたような)

日付型

日付型については、詳しく知りませんでした。
びっくりしました。
コードウィンドウに宣言を書くと、自動的に値が変わる!
うわ!すごい!(やってみた)

ところで、この↓
Dim d1 as Date: d1 = #2018-12-31#

Dateのあとの「:」(コロン)も使ったことがありません。
知りませんでした。コロンで区切ると、1行で書けるのでした!

比較演算子

Is演算子

Dim rng As Range
Set rng = Sheet1.Range("A1")
Debug.Print rng Is Sheet1.Range("A1")

このDebug.Printは、Falseが出力されます。
Rangeオブジェクトの場合、取得するごとに別のメモリアドレスに格納されるから
Falseになるとのこと。知りませんでした!

Like演算子

string Like pattern

今までほぼ文字列の比較のつもりで使ってました。認識が少し変わりました!
文字列と「特定のパターン」の比較をしていたのですね。

論理演算子

ここでは、Notのみならず、Xorも、それ以外まで載っています。
この部分は、初めて見て、もしわからなかったとしても、
例えばExcelでVBAをはじめてすぐに、Xorが必要になるかというと、
おそらく多分そんなことはないので、さらっとで大丈夫だと思います!

次回は3章に取り組みたいと思います!

.

▼著者サイト

書籍「パーフェクトExcel VBA」発売についてのお知らせ

▼Amazonリンク

パーフェクトExcel VBA (PERFECT SERIES)   高橋 宣成著

ツイッターでシェア
みんなに共有、忘れないようにメモ

view_list [連載]「パーフェクトExcelVBA」の本で勉強中〜
第1回 VBAにもっと詳しくなろう♪ 「パーフェクトExcel VBA」
第2回 VBAをパーフェクトにマスターするシリーズ♪ 2章「式と値」「パーフェクトExcel VBA」
第3回 VBAをパーフェクトにマスターするシリーズ♪ 3章「ステートメント」「パーフェクトExcel VBA」
第4回 VBAをパーフェクトにマスターするシリーズ♪ 4章「フロー制御ステートメント」「パーフェクトExcel VBA」
第5回 VBAをパーフェクトにマスターするシリーズ♪ 5章「プロシージャ」「パーフェクトExcel VBA」

Hata

個人でアプリを作ってたりなかったり(゚ω゚)。

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント