「たった1秒で仕事が片づくエクセル自動化の教科書」は、プログラミング言語VBAの本でした

エクセルを使った仕事で、何時間もかかる作業が

たった1秒で片づくとしたら、すごくないですか?

「使えるようになりたい!」と思い、購入しました。

 

 

この本は、プログラミング言語VBAが初めての私でも

とてもわかり易かったし

使えるようになると、すごく便利だと思うので

紹介します。

 

 

 

 

 目次

 

 

エクセルの自動化で、できること

エクセルのシートや、複数のエクセルBOOKとの間で

コピペや編集ができたり、新たなシートやフォルダ作成まで

ワンクリクで、できるようになります。

「マクロ機能」のスゴイやつ、といったイメージです。

 

 

 

エクセル自動化の仕組み

この本は、プログラミング言語VBAで、命令文をつくるための教科書です。

 「マクロ」の登録は、実際に行う動作を記憶させることで、作成することができ、プログラミング言語を覚える必要は、全くありませんよね。

実は、「マクロ」の命令文は、プログラミング言語VBAで、構成されていたんです。

記憶させた動作を、VBAの命令文に、自動で変換してくれていた、というわけです。

 

 

マクロとVBAについては、ウェブ上でも多数紹介されていました。

office-hack.com

 

 

VBAは、日本語に訳しやすい(例文1)

わかり易いといった理由は、日本語に訳しやすいという点です。

実際にVBAを日本語に訳してみます。

 

 

 

例1)を、読み解いてみよう

例1)range("a1").Copy
range("a2").PasteSpecial Paste:=xlPasteValues

 

上記コードは、よく使用される「コピーして、値で貼り付ける」の命令文です。

 

 

 

1行目を解説します。

krange("a1") は、「A1セル」のことです。

. は、「の」と読みます。

文章がつながるよう「を」や「に」に変えてもかまいません。

Copy は、「コピー」です。

文章を繋げると「A1セルのコピー」と訳すことができます。

 

 

 

2行目の解説です。

range("a2"). は、「A2セルの」

PasteSpecial は、「貼り付け」

Paste:=xlPasteValues は、「貼り付け条件は、値で」

 

文章を繋げると「A2セルの貼り付け。条件は、値で」と訳すことができます。

 

 

 

例1)のVBA

「A1セルをコピーして、A2セルへ値で貼り付ける」

と訳せます。

どうです?単語はともかく、文法はわかり易くないですか。

わかり易いということは、書きやすいということに、繋がると思います。

 

 

 

VBAは、日本語に訳しやすい(例文2)

例2)を解説します。

例2)MkDir ThisWorkbook.Path&"¥"&range("A1).Value

 

 

MkDir は、「新しいブックをつくる」

ThisWorkbook. は、「このワークブックの」

Path は、「フォルダ」

&"¥"& は、「~の中の」

range("A1). は、「A1セルの」

Value は、「値」

 

文章を繋げると

「新しいブックを、このワークブックの、フォルダの中につくる。

A1セルの値を、タイトルにする。」といった感じです。

 

 

 

コードは、その都度調べればいい

本書には、巻末には索引があります。

わからないことを、素早く調べることができるので

難しいコードを覚えなくても、VBAを組むことができます。

f:id:hmhmhy:20190815105525j:plain

f:id:hmhmhy:20190815105517j:plain

私がよく使うのは

範囲を選択してコピー、値でペースト、VLOOKUP、繰り返し処理です。

ということは、たくさんのコードを、覚える必要がないということです。

この命令文を、1つづつ、根気強くコードを書けば良いというわけです。



 

いかがでしたでしょうか?

実際に、VBAを組むのには、時間がかかると思いますが

その威力は、計り知れません。

頑張って、挑戦したいと思います。

 

 

読んでいただき、ありがとうございました。