• ベストアンサー

Excel VBAでできること

仕事でExcelの関数は比較的よく使っていますが、 VBAを使うと、関数の利用に比べて何が便利なのでしょう? また、みなさん通常どうやってVBAを学ばれていますか? 教えてください。宜しくお願い致します。

noname#66823
noname#66823

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

No3です。 マクロの記録も結構便利な機能ですが ここまででは 定型的な業務の効率アップになりますが 記録されたVBAに手を加えることで更に便利に出来ます。 次は Do Loopの使い方 Select Caseの使い方を学ばれてはいかがでしょうか? マクロの記録では出来ない様な機能を追加できます。 更には ユーザーフォーム の作成に進むとVBAの実力を知るところになります。入力作業が大幅に改善できるでしょう。 次は ファイルの操作、ほかアプリケーションとの連携について学んでみます。 データベースはAccessで 集計、グラフはExcelで VBAでメールを送る などできる様になります。 定型的な業務から Excelに自分の希望する機能を追加できる といった具合になると思います。

その他の回答 (4)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.4

ANo.1です。 >VBAは個別データを重視したデータベース関係を扱うのが得意ということでしょうか? >逆に、データの一覧性を重視するシートであれば、関数でも十分な感じですか? 私は入力用シートとデータ蓄積用シートを作成し、入力では常に新しい データを打ち込んでボタンを押して別シートに蓄積し、入力シートを クリアするというものです。 ユーザーフォームを用いた方はAccessのmdbファイルからデータを 読み込んで、表示させるという方法を取りました。 入力はAccessで行なっていました。 (社内での共有の手段として、Excelで表示のみを目的に作りました)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

ここは ためになりますよ。 http://www.asahi-net.or.jp/~ef2o-inue/menu/menu04.html 最初にマクロって何 について説明して有ります。

noname#66823
質問者

お礼

ご回答ありがとうございます。 マクロの自動記録機能(動作の記録)は何度か使ったことがあるのですが、定期的に同じ動作を繰り返すという作業そのものは少ないので、利用頻度自体はそれほど高くない状況です。 マクロの自動記録機能の限界を調整するのがVBAと考えてもよいのでしょうか?

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.2

現状で困っていないのなら、特に気にされなくてもいいとは思います。 何が便利か?は説明がつかないほど便利です。必要な人にとっては。 仮にですが、顧客情報リスト.Xlsがあったとします。 顧客名/住所/電話番号/メールアドレス/親密度という項目を持っています。 これを親密度によって文章・送信者を変え、メールアドレスがある場合はメールで、メールアドレスがない場合は住所にハガキで、暑中見舞いをだすことになりました。(どちらも情報がないところはそれをリストアップする、、、) せっかくなので、これを機にそのリストをACCESSを使ってデータベース化もやりたいです。 この一連の処理のうち、メールを送信する/葉書をプリントアウトする/対象外のリストアップしたテキストファイルを作成する/ACCESSにデータベース登録/までをVBAでやれと言われれば比較的簡単にできます。今回は外部との連携を紹介しましたが、内部的なことも当然VBAを使うのと使わないのでは相当利便性がことなります。 (エクセルのスプレッドシートで通常使用する)関数ではどうでしょう?? VBAならばそこまで(というかもっとすごいことまで)できます。 中にはゲームを作られる方もいます。私もエクセルで数独の問題を解くプログラムを作ったことがあります。 VBAは私の場合はACCESSで覚え始めたのですが、最初は「AccessVBA によるデータベース作成」みたいな初心者本+「AccessVBA2000リファレンス」という分厚い本+ヘルプでいろいろ試しながらやりました。必要に迫られると覚えるのも早いようです。 VBAがわかるとVBSとかVBも比較的習得が楽です。

noname#66823
質問者

お礼

ご回答ありがとうございます。 VBAが得意とするのは「定期的に発生する動作の記録」ということでしょうか?

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

過去には、 ・数式では参照元が変更されると値が変更されるが、VBAでは値を代入することで変更を防げる。 (例:データベースの作成) ・ユーザーフォームを用いてデータをシートではなく任意の状態で表示できる。 (例:データベースの検索結果の表示) >通常どうやってVBAを学ばれていますか? ・参考書の購入 ・こちらを含め色んなQ&Aでの他の方の回答をテキスト等でファイリング ・参考となるサイトの検索&お気に入り登録 と言った感じです。

noname#66823
質問者

お礼

ご回答ありがとうございます。 VBAは個別データを重視したデータベース関係を扱うのが得意ということでしょうか? 逆に、データの一覧性を重視するシートであれば、関数でも十分な感じですか?

関連するQ&A

  • エクセルVBAにつきまして

    詳しい方ご教示ください。 エクセルのセルに、数字で1220と入っていて、 それを日付の2011/2/20に変換したいのですが、VBA必要でしょうか。 それとも何か便利な関数ありますでしょうか? 詳しい方、よろしくお願い致します。

  • VBAを使うメリット

    はじめまして。現在、仕事でよくエクセルの関数を使っています。最近VBAに触れる機会がありました。 現在、ほとんどのことをエクセル関数を使ってしているので、今いちVBAのメリットがわかりません。でも、VBAの方が関数より難しいので、VBAを覚えた人はやっぱり、ほとんどVBAで処理した方がよいと感じるのでしょうか? みなさんはどのような時に関数で、どのような時にVBAを使われていますか?

  • エクセルVBAからCの関数を呼ぶ

    エクセルVBAから、VisualC++で書かれた関数を呼びたいのですが具体的な方法を教えてください。VBAでは書きにくい処理をCで書いて、それをエクセルから利用したいと考えてます。よろしくお願いします。

  • VBAを使った仕事

    今、派遣で事務をしていますが仕事の効率が悪いため、 エクセルVBAを勉強中です。 いずれ転職して、エクセルVBAを使った仕事をしたいのですが、 どういう職を目指せばよいでしょうか? プログラマーまではいかないけれども、エクセルVBAや関数使って 物を作る仕事がしたいです。 ご回答、よろしくお願い致します。

  • Excelでセルに入力するとVBA関数が呼び出される

    標記件、あるExcelファイルでセルに入力を行うと、入力後にVBAのある関数が自動で呼び出されるのですが、どこでこの設定を行う事ができるのでしょうか? VBAをOPENし、"ThisWorkbook"と"Sheet"内を開いても、何も記述はありません。通常はここで設定を行うと思うのですが・・・ (SelectionChangeなどで。) なお、呼び出される関数は、標準モジュール内に入っています。 以上、よろしくお願い致します。

  • 経理とVBA

    実際に企業の経理部等で働いている方に質問です。実務では市販の会計ソフト等を利用すると思うのですが、エクセルや、特にエクセルVBAの技術が役立つのはどのような場面でしょうか? VBAを使ったらこんなに仕事がはかどった、こんなに便利になった、こんなに正確になった、また、こんなことができれば便利になると思う、ということがあれば教えていただけるとうれしいです。 回答よろしくお願いします!

  • Excel VBAを使って何を作るか・・・

    現在、パソコンスクールへ通っており、カウンセラーに勧められ、Excel VBA Basic & Standardの資格を取得しました。 現在、就活中なのですが、せっかくVBAを勉強したので、実際に自分が使えるものを作ってみようと考えているのですが、一体何を作ったら便利になるのかイメージが湧かず質問させていただきました。 以前の職場でVBAを使った人事データは見たことがありますが、仕事でなくまずは身近にある材料で作りたいと考えています。 Accessも多少使えるため、「これならAccessの方が早い?」などの結論に達し、アイデアが浮かびません。家計簿や体重グラフなど、作ってみたののの、VBAを使うほどではないのです。 便利に使われている方がいらっしゃいましたら、是非アドバイスをお願いいたします。

  • エクセルVBAについて

    エクセルVBAについて 私は総務事務に携わっています。 エクセルVBAができると、VBAを知らなければ約1日または1週間かかる仕事が1時間程度でできると聞きました。 エクセルVBAができるとかなり仕事は効率がよくなりますか? よろしくお願いします。

  • エクセルVBAを利用してのデータまとめに関して

    よろしくお願いします。 エクセルVBAを利用してデータまとめ の方法が学べる手段(HP、本)の紹介をお願いします。 エクセルを用いて測定データの集計を行っています。 エクセル関数はある程度理解出来ており、 関数で出来ること、出来ないことの判別もつくようになってきました。 関数で出来ないことをVBAで行いたいと考えています。 VBAは全くの初心者です。 自分なりに調べてみましたが、これだ!というものが見つかりません。 やってみたいことは、自動で他のエクセルファイルの指定のセルをコピーして、本体のエクセルファイルの指定のセルに貼り付ける 等です。   よろしくお願いします。

  • Excel VBA でデータベース操作のできる関数

    データベースを扱えるソフトを作ろうと思ったら、通常 Access を使うことになると思うのですが、Excel で作ろうと思っています。 なぜかというと、Office Personal版を持ってる人にも使って欲しいからです。 Excel の1シートをひとつのテーブルに見立てて、簡単なデータベース操作をしたいのですが、それが簡単に行える関数はありますか? VBA の関数でも知りたいのですが、SQL文などで扱えるようになってるのがあればなおさらいいのです。

専門家に質問してみよう