• ベストアンサー

EXCEL VBAの可能性

 こんにちは。  先日、EXPOで、Excelをプラットフォームにしたツールのデモを拝見しましたが、Excel=不安定で担当者最適にすぎない という概念が覆されました。  改めてVBAの書籍などを読もうという気になりました。  関数はある程度一般的なことは覚えましたが、さらに上を目指すか、  Accessを勉強するか迷っていたところです。 (業務は、人事、総務の申請、資産管理関連です) EXCEL VBAの向き、不向き、よしあしについて、経験上のコメントなどありましたらお聞かせ願います。 用途:在庫管理、作業管理、人事管理、ID管理、PCヘルプデスク管理

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 ご質問は、AccessとExcel VBAかということでしょうか? ここの掲示板をみていると、Excelの得意な人は、Excelで、Accessの得意な人はAccessでという構図が出来上がるのだろうと思います。私は、どちらでもよいと思いますが、Yepesさんご自身の様子からすると、Excel VBAに進まれたほうが良いようですね。 本来、きちんとした目的をもったいたら、Accessを勉強したほうがよいのですが、Access は、まとまったものを作らされる傾向が強いので、その分、まとまった時間が必要です。私は、やはり、Accessのほうが一段敷居は高いように思います。 Excelは、5分とか10分とかでも、つまみ食いの勉強が可能なので、忙しいときでも、なんとかなります。それと、Excelは、総体的に使用している人が多いので、掲示板で聞くにも、すぐに返事がつきます。それで、導入しやすいのではないかと思います。 通常の学習する段階ですと、ExcelのVBAのイベント・ドリブン型マクロやユーザーフォームは、Access と似ている部分も出てきます。 Excel VBAなどは、たった一行でも、一日に、1行、年間、300行程度、効率よく行えば、それは自分の中に残ります。回数を繰り返し学習するという点において、AccessとExcelとを比較すると、Excelのほうが効率が高いように思います。Excelの勉強は、あまり目的意識を持たなくてできます。ExcelのVBAは、小さな実験場なのですね。何か仕事の目的を持たせずVBAを動かすことによって、逆に、きちんとした言語としてのVBAが身につくと思っています。(注意:逆はよくありません。Excelでは、何かの仕事をさせるために、VBAを作ると、うまくできない、覚えられないという現象があります。理由は簡単なのです。本当はExcelとVBAは、別ものだからなのです。) 一通り覚えてから、Access を行っても無駄にはならないように思います。

Yepes
質問者

お礼

ご返答ありがとうございます。Excelは関数だけでなんとかやりくりしていますが、手作業が多く悩んでいたところにVBAは目からうろこでした。ただ、パフォーマンスチューニングやらいろいろテクニカルな学習事項多そうですね。プログラミングそのものの概念をつかむことも目標にいれたいと思います。

その他の回答 (3)

noname#79209
noname#79209
回答No.4

ExcelのVBAを覚えてしまうと、Excelでチョット複雑なことをさせたいときに、 安易にVBAに走ってしまうクセがついてしまいます。 個人的には、Excelでは極力VBAなしで作成するよう心がけています。 職場で軽く「ああ、それならVBAを使えばできるよ」と作り始めると、 それらのメンテナンスで振り回されてしまいます。 「この前作ってもらった表なんだけどさ、こんな風に変えて貰えないかなぁ」等々。 あと、PCのセキュリティーレベルによっては「この表にはマクロが入っている。ウイルスかもしれない。」という旨の警告メッセージが出ます。 この「ウイルス」という語句に過剰反応して、「ウイルスに感染している!!」と騒ぐエンドユーザーが必ずいます。

Yepes
質問者

お礼

ありがとうございます。簡単なマクロを埋め込んだときにユーザから苦情が来ました。マクロウィルスと間違えてしまった、、と。業務への適用は慎重に行いたいと思います。

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.3

こんにちは。 >用途:在庫管理、作業管理、人事管理、ID管理、PCヘルプデスク管理 上記の用途でしたら、EXCELだけでも大変し、ACCESSだけでも簡単ではないと思います。 表の作成、帳票などの印刷を考えると、EXCELの方が優れているし、やはりデータの管理などを 考えるとACCESSの方がいいと思います。 なので、データの管理は「ACCESS」で管理して、データベースとして使う。 全ての帳票類は「EXCEL」を使う。 後、全てのシステムのプログラムは、EXCELのVBAで作成(フォーム作成等含む)する。 VBAからデータ「ACCESSのMDB」の追加・更新・削除及び検索等が簡単に出来ますので「ADO利用」、 ACCESSの勉強は、MDBのテーブル作成方法を覚えるだけでいいと思います。 これから勉強するなら、まずEXCELのVBAを覚えた方が良いと思います。 ※ VBScriptを利用すれば、EXCELのVBAで作成したフォームプログラムをフォームのみ表示が出来ます。

Yepes
質問者

お礼

ご返答感謝です。AccessとExcelは、調和できるものという印象を受けました。なので掘り下げていく時点で両方にかかわっていかざるをえあにように思いました。ならば、とっかかりやすいExcel VBAの初歩から習おうと思います。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

スキルアップすればエクセルVBAで大抵の事は可能です。 ただし、ブック・シート・セルと言う縛りがあるので、大きなデータ管理(データベース)的な機能をプログラムで扱う場合は、処理に時間が掛って仕舞います。 大量のデータからの抽出とか、任意の集計を頻繁に行う場合等だとアクセスならほんの数行のコードで済みますが、エクセルのみだと結構面倒になって来ます。 エクセルではデータ項目が1つ増えるだけでも関連シートやVBAの修正が必要になって来ますが、アクセスなら比較的簡単に修正が可能です。 >用途:在庫管理、作業管理、人事管理、ID管理、PCヘルプデスク管理 アクセスが出来るなら簡単に手早く綺麗に作成出来るでしょうね。

Yepes
質問者

お礼

ご返答ありがとうございます。 一覧性のしやすさや計算力、印刷の微調整では、Excelが優れているようですが、 Accessでそれほど簡単にできるものが多いなら、学習の順番を変えてみようという気になります。順序はどちらでもよいのでしょうが。。

関連するQ&A