Excelを使った仕事をしている方なら誰しももっと簡単にこの作業できないかなと思った経験はあるんじゃないでしょうか。
けど、数式考えるだけでは解決しない作業だ!
と思ったりしませんか。
そんな複雑な作業こそ、マクロを使えば簡単に出来ちゃうかもしれません。
だって簡単な処理だったら手でやった方が早いしそれならそれで構わないはずです。
自分もそんな一人です。
こんな複雑な処理でもなんか簡単にやれる方法ないだろうかと考えに考えて作業を工程化、手順化してみたんです。
そしたらこれはマクロでやれそうだとなったわけです。
そこから長い戦いが始まったのですが…とりあえず1つのプログラムを作るのに2か月ほどかかりました。
というのも自身のこのPCにはExcelが入ってないからです…
職場のPCだって専用の端末は用意されていないし、本も持ち込めないし、気軽にネット検索もできないし、そうなれば検索したコードのコピペだってできません。
そういう環境で、覚えたコードを仕事の空き時間にちまちま打っては試し打っては試しを繰り返しようやく完成させました。(と言っても完全形ではなくまだ試作段階)
けど、この最初に作ることとなったこのプログラムが割と複雑な処理であったがためにいろいろ検索や読書を重ねいろんなコードを覚えるきっかけともなりました。
独学にもいろんな方法があると思いますが、とりあえず複雑な処理を手順化し、いろんな作業を混在させたマクロを作るという目標を持ってみてはいかがでしょうか。
マクロを組むにあたって最初にやる事
もちろん全く初心者ですからVBAの基礎を知ることから始めるんですがここでは割愛します。
いろんな書物が出てますから自分に合ったものを読んでみてください。
まずは自分がエクセルを使って何をやりたいかという設計図のようなものを考えます。
これはやっぱり手作業でチラシの裏とかメモ帳とかなんでもいいんですけど、図で書いていきます。
(これをPCでやろうとすると作業が先に進まないのでおススメしません)
そのときの実際のチラシの裏。
こうやって書いていくとここはこうすればいいんじゃないかとか、思いつくんです。
このチラシの裏も何度目かに書き直したもの。
一つひとつの作業を細かく分解していくといいと思います。
例えば表のどの列や行を使ってコピーして、どこにはりつけてその張り付けたやつを加工してまたコピーして・・・てな感じです。
するとその分解した一つの作業がExcelのどの機能を使えばいいのかが見えてきます。
セルに入力されたデータを使うのか、自身でその場で打ち込んで使うのかとか。
いきなり最終形態に持ち込もうとするのではなく面倒でも間に途中の作業を入れて段階を踏むとやりやすいです。
あるシートのデータを使って別のシートにコピーして分類する
その別のシートを使ってまたコピーして別の次のシートで…とシートを増やしながらやっていきました。
大量にシートが増えていくわけですけど、慣れていくうちにこの作業はいらないなと省略していけるので最初はどんどんシートを増やしてもいいと思います。
シートを分けずにやると例えばフィルターをかけてデータの抽出なんかをしたいときに面倒になるのでとりあえず別シートがいいと思います。(同じシート内の右側のあいてる列でやろうとしてこれで失敗しました)
シートを分けるとシートをまたがった処理をするときにコードの書き方がちょっと面倒になるんですけどそれも慣れればコードが多くなる程度で自分にとっては勉強になりました。
それからやる事が見えてきたらそのコードをどう書けばいいかを調べていくんです。
ネットで検索するといろんな書き方が出てきて混乱するんですけど、とりあえず最初におさえるコードはセルの指定方法です。
ここが間違えてると意図したことが結果に表れないので実際とても苦労しました。
RangeなのかCellなのか、とか””がいるのか()がいるのか、とか。
使用したいセルが違うシートの場合はシート名から指定してやらないといけないとか。
そうやって一つひとつのコードの書き方を掘り下げていって、やりたい処理のコードはまた別にそれぞれ覚えて行って、ちまちまちまちま書き上げていきました。
基本的に覚えることは
- セルの指定の方法
- コピーとそれを貼りつける方法
- シート間での処理方法
- 繰り返すやり方
- 条件の付け方
ぐらいで大丈夫かと思います。
あとはそれらを組み合わせていけばいいだけなので。
その組み合わせで苦労するのが次のステップです。
エラーエラーの連続で溜め息。
第2回につづきます。
参考にした本
最初に手に取った本を開いてなんじゃこりゃと思ったのも今やなつかしい。
基本のことが書いてある本なので、やってることが分かるようになると次に何をしたいかということで何度も何度も読み返してます。
載ってない部分のことはネットで検索してます。
最初に一冊購入して、読んでみて何が何だかさっぱりわからず寝かせること数年。
(2013年発行とあったので6年くらいか)
プログラミングのコードというのは何年たっても変わらないので今とても役立ってます。
変わるのはExcel(とWindows)のバージョンだけ。
もっと早くわかるようになりたかったなぁと思い返すことしばしば。
けどわかるようになって思ったことなのでやっぱりやろう、わかろう、ということ自体が大事大事。
秀和システム
売り上げランキング: 222,319
マイナビ出版 (2017-03-22)
売り上げランキング: 156,741
技術評論社
売り上げランキング: 644,272