仕事でエクセルのVBAを使って、すごく楽になった。こういうメリットがあって、手放せないという話を教えてください。その場合、できるだけ、どういうプログラムなのか想像できるような書き方でお願いします。詳しければ詳しいほどポイント弾みます。

質問の意図:エクセルを今まで仕事に使ってVBAを勉強しています。確かに強力な機能ではありますが、いまいち用途が見えてこないし、正直いって、なくても困らないと思っています。そんな私を、vba無しでは生きられない体にしてください。お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/04/05 15:33:27
  • 終了:--

回答(10件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982005/04/05 15:37:20

ポイント10pt

CSVで出力されたファイルを取り込み、帳票として XLSファイルを作成するような業務に用いてます。


というか、そのようなパターンのVBAばかり作ってます。


パターン作業みたいなものを VBAによって一括で作業してしまうといった感じですね。

個人的には、勤怠の管理をするのにちょこっと使いましたが、普通には あまり使わないですねぇ。


VBAは、定型業務を行うのに向いていると思いますよ。

そのような業務がなければ、あまりメリットはないでしょう。

id:youkan_ni_ocha

帳票とかですか。大規模なシステムをエクセルで組んでしまったという自慢話も募集します。どういうシステムなのか自画自賛してください。

2005/04/05 15:41:37
id:toriyo No.2

toriyo回答回数1075ベストアンサー獲得回数02005/04/05 15:39:10

ちょっとしたツールだけど、使っています。

小さな文字のデータを読む時に便利です。

ここにいろいろなツールが載っています。

id:youkan_ni_ocha

うーん、こういうのは、ちよっと、、、、もっとシステムよりの話が知りたいのです。便利ではありますが、、、すいません。

2005/04/05 15:42:58
id:tomo_k No.3

tomo_k回答回数426ベストアンサー獲得回数262005/04/05 16:06:57

ポイント15pt

URLはダミーです。

僕は、Excelで作られたデータベースのテーブル設計書を元にしてそのテーブルにアクセスするためのJavaのプログラムを出力するプログラムを書きました。アクセスのロジックとデータベースの構造さえわかれば書けるプログラムだったのでVBAでかけました。いわゆる、DAO(Data Access Object)といわれるものです。Javaのプログラム的にはデータベースの構造を隠蔽化して業務クラスはそれぞれの業務のロジックに集中できるように作られるクラスです。データベースへのアクセスはすべてDAOによって行われます。

そのプロジェクトでは100近くのテーブルについてそれぞれ複数のパターンでアクセスする必要性がありましたがそれぞれ、数百から数千ステップもあるプログラムを手で組んでいてはすさまじいばかりの時間と無数のバグを作り込んでいたことは想像に難しくありません。

ExcelVBAで作った場合間違いがあってもVBAを直しプログラムを再生成するだけですのでさほどの時間はかかりません。

結果的に数十万行のプログラムを書くべきところVBAのプログラム1000行程度を書くだけですみました。また、プロジェクトが変わってもこの種のプログラムはたいてい必要になるので手直しする程度でまた再使用できます

id:youkan_ni_ocha

エクセレント!

2005/04/05 16:36:09
id:gaa No.4

gaa回答回数16ベストアンサー獲得回数02005/04/05 16:28:40

ポイント15pt

http://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips115.h...

�ǂ݉����i�ӂ肪�ȁj���ӂ�

漢字の人名に読み仮名を振る.

2000人ぐらいいたのでえらく助かりました.

システム寄りだとODBCでDBサーバから数値を取ってきて自動でグラフを作るくらいでしょうか・・・

id:youkan_ni_ocha

なぜ、読みがなをふらなくては成らないのかが、よくわかりません。なにかの帳票ですか?

2005/04/05 16:39:25
id:orangenoel No.5

orangenoel回答回数177ベストアンサー獲得回数02005/04/05 17:09:27

ポイント15pt

ダミーURLで申し訳ありません。

EXCELでVBAでというと、私の場合はSQLサーバーがらみでいくつかあります。

EXCELでSQLサーバーに接続させ、データの取り込みを行い、グラフや集計表を更新して、レポートとして印刷できるようにしています。

SQLサーバー上のデータは上司更新されているため、いちいちEXPORTして…だと面倒なんですよね。(^-^;)

ちなみにマクロでも出来るだろとツッコミを頂きそうですが、VBAならではってことで、SQL分をSQLサーバーに投げるのと、SQLサーバー上のJOBの起動を行い、データ更新をしています。

ただ、データ更新はJOB起動をするだけなので、終わったかどうかが解らないので1分待ってもらってますが…。(=_=;)

VBAでSQLサーバーやらのコントロールが出来ますので、そこら辺をいじるともうVBA無しでだと物足りなくなるかと。

id:youkan_ni_ocha

SQLとVBAは切っても切れない関係であるという訳ですね。SQLか、気になる、、、

2005/04/05 17:21:21
id:yuppia No.6

yuppia回答回数345ベストアンサー獲得回数02005/04/05 18:12:58

ポイント15pt

http://www.rakuten.co.jp/

【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売、通販オンラインショッピングコミュニティ

URLはダミーです。

私の場合、○○(株)や、(有)△△という会社の、○○や△△だけを読み仮名をふり、名簿を作って並び替えたりするのに使っています。

id:youkan_ni_ocha

なるほど、ならびかえる時には確かに必要ですね。

2005/04/05 18:25:28
id:typista No.7

typista回答回数359ベストアンサー獲得回数72005/04/05 18:21:49

ポイント15pt

UNIXサーバの管理業務では、CPU使用率、メモリ使用率、HDDアクセスなどの30項目以上におよぶログデータを月に1度(30日分を)まとめる必要があります。

対象サーバは15台(1台あたり800MHzのCPUが10発以上載ってたりします)で、ログデータはものによって、5分単位のものや10分単位のものがあります。

これらはテキストデータで取得可能ですが、時間ごと、日にちごとの平均/最大値を計算し、グラフ化が必要です。

当初は、これを手作業で実施していたために、丸3日以上必要でしたが、今やものの15分程度に短縮されています。

(私も1サーバ分だけ手作業をやったことがありましたが、とてもじゃありませんが全サーバ分はバカバカしくてできませんでした。)


当然、手作業では加工の精度も疑わしいですし、こういった作業は実装の軽さ、フォーマットの柔軟さを考えるとエクセルのVBAを使うのがベストな選択だったといえます。

id:youkan_ni_ocha

確かにそうですね。こんな所にもエクセルが!という感じですね。

2005/04/05 18:27:08
id:okey121jp No.8

okey121jp回答回数80ベストアンサー獲得回数02005/04/05 18:27:05

ポイント15pt

http://www.hatena.ne.jp/1112678234

人力検索はてな - コードが短くて(希望)、実用的なエクセルのVBAについて詳しく書かれたサイト(単なる、プログラムの練習的な内容や、関数を説明するためのものではなく、実際の業務か..

先ほどはハンパな回答しまして恐縮です。

こちらの質問で、何をお探しなのか、若干理解を深めました。


ちなみに、私は大上段に構えて「VBAを使用した!」実感はありませんが、障害管理などの仕事を行う上で、Excelに羅列されたデータの集計やグラフ化は、マクロなしでは考えられませんが....。


元来「なくても困らない、が、あると便利」程度の認識でよろしいのでは?と思いますが....。

http://www.still.co.jp/

アイエルアイ総合研究所/VBA・マクロ不要のExcelアドインソフトStiLLの開発・販売

ちなみにこちらの会社では、Excelの機能の延長上に、開発ツールを乗っけて、グループウェアを語るにまで至っています。


使いこなすと、Excelもスゴイもんです。

(無論ツールの宣伝ではありませんので、念のため....。)

id:youkan_ni_ocha

本がたくさん出ているわりに、どう使うのかが見えてこない(テクニックはいくらでも出てくるが)ため、こういう質問に至りました。今までの回答を見て思ったのは、なんらかのデータベースなりを作ってそのデータから帳票をつくる用途には比較的便利に利用できるという感じでしょうか。しかし、いまいち漠然としているという感じも無くは無いのですが。

2005/04/05 18:42:03
id:mady No.9

mady回答回数86ベストアンサー獲得回数02005/04/05 23:35:09

ポイント15pt

http://www.moug.net/index.htm

�X�L���A�b�v�E���������̓��[�O�ɂ��܂����I�@�����R�~���j�e�B�T�C�g�@���[�O

URLは参考になるページですが、ダミーです。


現在のVBAはVB6のエンジンを使用しています。そのため、VB6でできることはほぼすべて(8割から9割程度)実現する事ができます。


ただ、exeが作れない、エクセルを立ち上げていないと使えないなどの制約があるため、結果的にVBの機能を使用したい場合、圧倒的に使いにくくなります。


VBAの最大の利点は、エクセル上の表データへのアクセスが容易である事です。


tomo_kさんと似ていますが、データベース定義書からテーブル作成SQLを作成したり、JavaBaenクラス定義書から、Javaソースを書き出すという処理をよく利用します。このようなVBAの利用は多くのプロジェクトで頻繁に利用されます。


エクセルで記述されている大量のデータに対して、同じ記述や処理を繰り返すような場合に高いパフォーマンスを発揮するといえると思います。

id:youkan_ni_ocha

やはり、その点に終始しますか。

2005/04/05 23:41:41
id:tamaho No.10

tamaho回答回数13ベストアンサー獲得回数02005/04/06 03:21:07

ポイント15pt

そんなに難しいことには、使っていませんが、VBA無しではエクセルを使えなくなりました。

①業務で利用

 ー作業日報(日々の仕事時間報告書)を管理する仕事をしていたのですが、月末にそれをまとめるのが大変で作業日報をエクセル化して、月末の集計が楽になりました。

②見積書の作成:

 単価表をエクセルで作っておいて、

 製品の見積書を別シートで作成すると自動的に種類別の製品をリストで選択すると単価も落ちてくる。 単価が変わった場合は、元の単価リスト変更を加えれば見積り全体が変更されるので便利。これは、追加見積や変更見積のときにも便利でした。

③簡単な資産管理とか、源泉徴収用の元資料作りにも使えますよ。簡単なデータ一覧をいじるのには最適かと思います。その後の体裁もVBAで整えれるし。 

id:youkan_ni_ocha

このへんが定番のような気がしてきました。

2005/04/06 04:10:55
  • id:Nigitama
    私の場合、

    100人の従業員が記入したデータをマクロボタンワンクリックでデータベースに登録させています。

    ここでポイントは、ODBCなどを使わないことです。従業員のPCにはエクストラのソフトやドライバを一切入れない(メンテナンスが面倒だし、無駄作業をさせたくない)

    マクロの内容と仕組みは、
    MySQLの入っているサーバーへSamba経由でCSV形式で保存
    IEを見えない状態で起動し、とあるPHPプログラムに先ほど保存したCSVファイル名をクエリとして付加しURLを送信
    PHPプログラムがSambaの中にあるCSVファイルを読み取ってMySQLに格納
    格納結果、集計結果は、従業員が「表示」ボタンを押すことでWebクエリとして降ってくる
    (Webクエリの出所はPHPプログラム)
    さらにエクセル上のユーザーフォームから、検索条件などを指定してボタンを押せば、
    ttp://phpプログラムへのパス?検索条件=xxxx
    からWebクエリを引っ張ってくる。

    まどろっこしい手順ですが、
    人が多くてPCスキルもあまり高くなくて、
    従業員の本業以外のところで作業を増やさず
    メンテナンスがらくで・・・

    と考えるた結果でした。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません