469847 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

HRS趣味の部屋♪

HRS趣味の部屋♪

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2018.03.29
XML
カテゴリ:エクセルマクロ

【中古】 Excel VBAベーシック VBAエキスパート公式テキスト/田中亨【著】 【中古】afb

ということで、会社のほうでは、勉強会なるものが開催されているらしく、
先日は、その発表会の様子を見学させていただきました。

自分自身は、エクセルマクロについては「それほど詳しくない」で通していますが、
一応、「VBAエキスパート」の「Excel VBAスタンダード」は合格しています。
…いろいろとひどい目にあったのもいい思い出です。

都合3回ほど試験会場に足を運ぶことになったのは、運が悪かったのでしょう。
(実際に試験を受けたのは2回で、1回落ちています…これは実力不足)
1回目は、「終了したか否か」がわからないタイミングで、世界レベルのサーバーダウン。
(試験用サーバーは海外らしいです)

で、2回目は、「やり直し再試験」のつもりで臨んだはずが、
「前回の試験の結果が通っていた」ということで、後日に…で、受かりました。
試験対策でいうなら、「普段は使わない機能」である「レジストリへ書き込み」なんかはちゃんとやっときましょ。
内容がペラペラな部分のわりに、配転はしっかりとしています。
ペラペラって言っても、読んで理解しておかないと、まずもって「解けません」。
※最初の試験の時はここの正答率は0%でした…うん、0点。
まぁ、この試験に合格していても(していなくても)、実務上は変わらないんですね。

まず、実戦で磨いたエクセルマクロの作り方は、この試験では学ぶことはできません。
大したものが作れない人間が言っても、説得力はないかもしれませんが、
エクセルマクロで「データベース管理」みたいなことをCSVデータで行う発想には至らないでしょう。
いや、それが至高であるとは思っていませんが、管理上は結構早くて便利なんです。
データベースをがっちりやるなら、Accessとかで組むのが手っ取り早いですが、
「全員が持っているわけではない」というハードルがそびえたっているので、
結果として、「エクセル」でできる範囲で作ることになるわけです。

で、そのデータベースを「エクセルファイル」で持とうとすると、
読み込みとか、書き出しとか、いろいろな面で時間がかかるデータが出来上がります。
以前に、「フォルダ内のエクセルファイルを開いて所定の場所へ集計」みたいなマクロ作りましたが、
集計する機能よりも、エクセルを開いて閉じる時間が長すぎて、200ファイルくらい扱うと、
10分くらいは作業ができなくなるんですよね。

CSVファイルを配列にポン入れして、読みだすほうが高速です。
最近やったものだと、ファイルサーバーへのアクセスログファイル(10万行以上)から、
接続IPごとの「送受信容量」を「指定時間幅(10時~15時の間みたいに)」で集計するマクロを作りましたが、
20~30秒ほどで、目的のデータを抽出することができました。
ビバ、CSVファイル。

ちょっと前までは、エクセルで開くCSVファイルのトラブルが嫌で、
あんまり使いたくなかったのですが、
テキストデータとして取り込むマクロを組むようになってからは、
データベース用のファイルとして優秀だと思うようになりましたw
テキストとして扱えば、高速なメモリ上にデータを残せるだけでなく、
エクセル上で開く必要もなく、非常に軽快に処理を進めることができるわけです。
10万行オーバーのデータでも、エクセルで開いている時間で処理が完了するくらいには早いです。
ちなみに、データの中身を見たいだけなら、普通に開いたほうがなんぼか早いです。
(10万行以上のデータをエクセルにコピペしていくよりは…っていう話です)

ということで、複数のデータを扱うデータベースを作りたいなら、
エクセルのシートを無限に増やしていく手法をとるよりも、
CSVファイルとVBAを駆使して、エクセルで構築しちゃうほうが高速なものができます。
…まぁ、実際に、それに向けていろいろと準備していて、その過程で気づいたわけですが。

今回はここまで! 実用的なことをもっと推し進めたいですね~。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2018.03.29 22:10:52
コメント(0) | コメントを書く
[エクセルマクロ] カテゴリの最新記事


PR

サイド自由欄

キーワードサーチ

▼キーワード検索

楽天カード


© Rakuten Group, Inc.
X