こんにちは。
プログラミングの学習ペースがやや落ちてきたたきもとです。
書籍やネットを頼りにプログラミングを始めたら、
1ヶ月でどの程度上達するのか?
何ができるようになるのか?
何ができないのか?
この辺りを私の体験ベースで紹介します。
また、
– 一日あたりにプログラミングに費やした時間
– 今後の抱負
等も紹介します。
私の環境は次の通りです。
// PC
Windows 7 Home Premium
Intel(R) Core(TM)2 DuoCPU T7250 @ 2.00GHz
RAM: 2.00 GB
32 bit
//Excel
Excel 2007
結論
できるようになったこと
-Excelの関数だけでは実現できない動作が何かわかる
-プロシージャ/オブジェクト/プロパティ/メソッド がわかる
-with / if / select case が使える
この段階では、VBA内の関数の種類を学んでいる状態です。
テキストを見れば取り敢えず動作させることができる状態。
プログラミングに対する心理的障壁が低くなったことが一番のメリットだと思います。
まだできないこと
-サーバ について
-DB(データベース) 操作
-ネット上の用語・解説理解
そもそも
VBAの主な動作はexcel上での手作業を簡略化すること
です。
サーバやデータベースへのアクセスもできるらしいのですが、これらに関しては今後学習を通して身に付けたいと思います。
テキスト/参考サイト
-『ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』
を中心に進めています。
-解説中で分かり辛かった点
-より詳しく知りたかった点
はネットで検索して情報収集しています。
ネットではモチベーションを保つのに良いサイトがありました。
VBAエキスパート | オデッセイコミュニケーションズ
このサイトではマンガでVBAスキル上達について紹介しています。
息抜きと,VBAの全体像を掴む事を目的によく拝見させて頂いています。
進捗状況
ひと月経過しても先述したテキストを追えることはできませんでした。
これはプログラミングに費やす時間や集中力に個人差があるので一概には言えません。
私の場合はこうだった、と参考にして頂ければ幸いです。
1日あたりの取り組み時間は、多分サラリーマンの仕事時間外程度。
//– 1日あたりの取り組み時間
AM: 1時間程度
PM: 1時間程度
合計: およそ2時間/日
//– テキスト進捗
『ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』
p1 – p150
第5章 ループと変数 でやや躓いています
この章はいわゆる、
-同じような操作を色んなセル(場所)で行おうね
-でも,VBEで何度も似たような記述をするのは
面倒 かつ ミス発生原因
に成り得るから、変数を使ってシンプルに書こう
という章。
第4章までは誰でも楽に進めるはず。
自動化の醍醐味がこの章に詰まっている予感がするので、しっかり理解していきたい。
できるようになったこと
先程は簡単にまとめましたが、ここではもう少し詳しく紹介します。
現時点では
まだ 自力でプログラミングしている実感はない
です。
テキストにそって関数を使い、どんな動作をするのかを確認する作業に追われている感じです。
自分が期待するアプリやサービス・機能を考えて実装するのはもっと先になるかもしれません。
サマリー
-VBとVBA,VBEの違いが分かる by テキスト&google
-Excelの関数だけじゃ実現できないことが何かぼんやりわかる
-プロシージャ/オブジェクト/プロパティ/メソッド がわかる
-with / if / select case が使える
プログラミングへの心理的障壁が低くなった
何をするにも当てはまることですが、新しい分野に着手するときは壁が高く感じますよね。
でも、いざ初めてしまえば
「ふむふむ、なるほど」
という具合に着実に成長できます。。
これは、私が今回得た最大のメリットです。
以前抱いていた
「やばいよ… 全然プログラム分からないよ…」
という気持ちは無くなりました。
Excel VBA で使われる構文が概ね分かった
いわゆる
for .
元々知らなくてもあまり困らないかもしれない。
テキスト前半は用語と使い方が詳しく書いてある。
ただ、ググッてよく見かける VB が何なのかについてはテキストだけだと分からないので、気になった人は調べると良いかも。
Excel っていう環境が用意されている事がありがたいなぁ、なんて気持ちになるかもしれない。
with / if / case が扱えるようになった
VBAを実行してExcel画面にメッセージボックが出たり,文字の色が変わるだけで結構感動する。
先述した 変数とループ の土台になるので疎かにできないと感じた。
今後動作速度を気にして if / case を使い分けていく気がしている。
まだできないこと
今の段階では出来無い事の方が多い印象。
サーバとか分からない
これは別途所持している 3日でマスターPHP とかで学ぼうと考えている。
WEBアプリリリースを目的としているのでかなり気になる。
しかし、取り敢えずVBAを学ぶと決めたのでこの件は後回しにする。
ググったり知恵袋見ても分からない言葉が多い
ご存知 google検索 / Yahoo知恵袋 は私の疑問に回答してくれる事が多いツールである。
ただ、そこの回答を見ても分からないことが多い。
Web屋やSE屋にとっては当たり前の文章が分からないなんて…
と、凹まないのが私のイイところ。
学生時代でも前職でもそうだったが、やっている内に分かることが増えるのでこの点はあまり気にしていない。
ただ、自分の疑問を解決する手段をいくつか確保しなければならないと感じている。
まだこれを仕事にはできない
仕事にするつもりはないけどね。
ただ、自分が この作業もっと楽にできないかなぁ と思うことを実現するためにはまだまだ未熟。
ググッてソースをコピペ、でも良いけど、体系的に理解したいので今は本書を続ける。
感想
結構いい感じ、というのが結論。
まだスタート地点からあまり進んでいない
変数とループ で躓いているので。
ここを超えればもうちょっと自信がつく予感。
自分と同じ悩みを他の人も抱えている
これってどういうことだろう?
という疑問は、実は数年前に他の人がどこかで質問していたりする。
つまり、自分の疑問はある程度ググッて解決することができるということ。
一方で、 +α(プラスアルファ)の何かをした時は情報資産として当ブログに残すのもアリだと思った。
いつかきっと誰かの役に立つだろう。
と、いうのは先日書いたバッチファイルについての記事は結構色んな人の情報を集めて,自分なりにアレンジしたものだ。
-自分がこうしたい
-こんな事で躓いた
-ググッてコピペだけじゃ実現できない
こんな事が今後もあったら記事にしていきたい。
VBA以外にも興味が出てくる
たとえばバッチファイル。
先述のリンク先の記事の事だが、やはり作業はどんどん効率化したい。
それがPCによるものでも,人の手を借りるものでも。
その一つの手段として バッチファイル がある事を知った。
今後PC上で(あ、windowsでね。)繰り返し似たような作業をするときはバッチ作成を検討したい。
あとは、データの管理方法。
たとえば、
-ファオルダの階層構造を統一しよう
-複数のメアド/パスワードをもっと効率的に管理しよう
とか。
データを探すことに時間を費やすのではなく,それらを上手く活用してもっと自分が楽になったり、新しい物を生み出したりすることに時間を費やしたい。
そんな立派なことを考えてみた。
今後の抱負
まずは手元のテキストを倒そう。
そして、自分のビジネスに応用しよう。
という内容。
11月中にはVBAのテキストを終えたい
精読すると時間が掛かるよね。
テキストのコードを写経するだけでも身に付いている実感がある。
一先ず、11月中に一通り終えたい。
次はPHPに着手
サーバ周りについて知りたいし、やはりググるとPHPの情報が多い。
当ブログ(ワードプレス)もPHPがベースになっているらしいし。
早く着手したい。
ビジネスに応用する
これは完全にプライベートの話。
新たにビジネスを始めたのだが、現時点では超アナログな作業を行っている。
きっとVBA/PHPの利用で効率化が図れるはず。
そのためにも、上述した内容を早く実現したい。
走り書きになってしまったが、本日は以上。