• 締切済み

ACCESSのマクロかVBAを勉強するかで迷ってます

ACCESSのVBAを勉強するよりもマクロを勉強するほうがよいのでしょうか?非常に迷ってます。 マクロやVBAを勉強する目的としては、仕事でアクセスを使っています。アクセスを扱っている以上、マクロかVBAはマスターしたいと思っているからです。 どなたか、勉強方法を教えてください

みんなの回答

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

ちょっと一言。 ExcelのマクロとVBAの関係と、Access のマクロとVBAの関係は違います。 ExcelのVer4 マクロは、れっきとした別の手続き型のプログラミング言語です。Excel Applicationに直結した互換性のない言語です。一行ごとに数式を書いて処理をしますので、かつてのBASIC言語と同じ処理方法を持ち、豊富なマクロ関数を持っています。VBAでは、プロパティを取得したり変更する場合には、オブジェクトからとりますが、マクロは、すべて関数で行います。 しかし、ExcelのVer4 マクロは、VBAとの互換性を保たれていませんので、VBAでは、時々、不足やうまくいかない部分に、いまだに、Ver4マクロ関数に頼らざるを得ないのです。 Accessの場合は、マクロはVBAの切り替えが可能ですし、マクロでは出来ない部分で、VBAで細かな表現が可能にさせます。#6 さんの考え方のとおりですが、また、Accessだけでは、なかなか、VBAの深い部分までは、行き着かないのが現状ではないでしょうか?教本も少ないように思います。ExcelのVBAやVBなどの経験があれば、そんなに難しくありませんが、いきなりVBAでは歯が立ちません。 私が、最初に実際のAccess VBAを使いながら感じたのは、全体的には、Excel VBAよりも、VB(6)に似ているという印象を持ちました。それは、いきなりFormのイベントから入っていくからです。イベント自体は、Excel VBAで言えば、中級に入りますから、もう少し基礎的な知識がほしいと思います。Access VBAは、Excel VBAの中級から上級の知識を要求されることが多いと思います。

  • Kazamin
  • ベストアンサー率30% (17/56)
回答No.7

マクロを勉強する時間があったらVBAを勉強なさった方が 有効だと思います。 マクロの方が簡単にできると思われるでしょうが、VBAに慣れて しまえば、圧倒的にVBAの方がラクだと思います。 また、1つのMDBファイルの中にマクロとVBAが混在している場合、 後で不具合を改修したり、機能を追加変更する際に、とても煩雑に なることが多いです。マクロとVBAの処理基準を明確にしていれば 比較的ラクですが、作成前に曖昧にしていると、特に障害対応等の 時には、VBAだけにしておいた方が絶対にラクです。 また、Ofiiceでは他のアプリケーションでもVBAが搭載されているので、 他のOfficeアプリ(特にExcel)の自動化をする事になった時に、応用が ききます。ちなみに、どなたかがAccessのマクロとVBAの関係をExcelの 関数とVBAに例えていますが、Excelで言うならばVer.4.0までのマクロ関数とVBAでしょうね。

  • saru2002
  • ベストアンサー率29% (56/189)
回答No.6

基本的にはVBAもマクロも同じではないでしょうか? マクロで組んでるものはVBAで組めますし VBAを分かりやすくしたものがマクロかなと思ってます。 双方ともOffice環境でしか動かないものですし、 マクロで出来ない・複雑なものはVBAで組むしかないのですから 極論ですが最終的にはVBAを勉強した方がいいと思います。 もちろん本格的なプログラミングになると#4さんや他の方が言う通り 奥が深いものでなかなかマスターできないです(自分含めて)^^; なのでマクロ/VBAって線引きしないでAccessを動かす上で必要な時に 必要な方を勉強していくのがいいと思います。

回答No.5

こんにちは。 ご質問のご様子から推測すると、 1.基本はマクロで処理する 2.マクロで出来ないことをVBAで補う という方向で、学習されると良いと思います。 VBAが必須と思われるのは、バックエンドのDBに アクセスしたい場合が多いと思います。 VBA全体ではその学習に膨大な時間がかかります。 Excelのような記録機能はありません。 いきなりVBAでは、途中で挫折してしまうこともありえます。 開発内容が明確になっているのならともかく、そうでない場合は 第1ステップ:マクロのマスター 第2ステップ:VBAの必要な機能の学習 をおすすめします。

  • TTak
  • ベストアンサー率52% (206/389)
回答No.4

マクロ>VBAの順番で良いと思います。 VBAは勉強しても良いと思いますが、#3氏の意見のように底なしです。 マクロで出来ないことや効率が悪いことをVBAで達成するように持っていっては如何でしょう。そうするとVBAの知識も自然と付いてくるもんです。 私の場合、そうして自然とVBAも習得していきましたが、最近では、いかにVBAを使わないかを先に考えます。 あと、VBAの次にはAPIの世界が待っています。^^;)

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

こんにちは。 私も、他の方のご意見と変わらないですが、私は、Office VBAを主に使う立場から言うと、Accessは、VBAがメインとはいえないと思います。 全体的な把握が大事で、とりわけマクロでも、VBAでもないと思います。全体的な組み立ての中で、個々の技術が必要になるわけで、Excelのように、ひとつを取り出してパーツで学習ということが出来ません。つまり、VBA自体を勉強するなら、ExcelのVBEditor で基本的なことも勉強できます。 Access VBAの入門編レベルですと、AccessのVBAって、こんな程度だと思うに違いないし、そんな難しい内容は出てきません。しかし、また、AccessのVBAって、底なしなんですね。私は一通りVBAは勉強しましたが、Access のVBAを書く人のコードは、半端ではないものがあります。おそらくは、もう、.Net の時代では、書ける人がいなくなるのではないかと思いますし、ある意味では、次の世代では、今のスタイルは続かないような内容のものもあります。 Accessを本格的にしていけば、また、VBAを専門的に勉強しなければならない時が来るかもしれませんから、仮に、VBAを勉強するにしても、今は、基本的なことだけで済ませられれば、それ以上にはする必要はないと思います。

noname#91724
noname#91724
回答No.2

アクセスのマクロとVBAの関係って、 エクセルの関数とVBAの関係に似ていると個人的には思います。 私なんかこらえ性が無い人格なので、すぐにプログラムを書いてしまうのですが、 このコミュニティで、様々な関数を駆使している回答を見ると、 「ほえ~」と感心してしまいます。 確かに関数で処理できるならその方がいいに決まってます。 ですが関数自体もプログラムの一つ、という見方もあります。 自分で関数を作ることは出来るからです。 「表裏一体」ってやつですね。 これをアクセスで言えば、VBAにて「テーブルを開く」等のものは作れるけれど、 だったらマクロをそのまま使うよね、ってことです。 マクロで出来るのはここまで、ここから先はプログラム。 それを判断するためには、まずマクロを理解していないといけない。 私はそう思います。 アクセスは「クエリ」「フォーム」「レポート」「マクロ」のどれもが、 一筋縄ではいかないくせ者です。 じっくりいきましょう。

  • mozomozo
  • ベストアンサー率9% (6/62)
回答No.1

マクロのほうが取り組みやすいし、VBAに比べると簡単なので、 まずは、マクロから始めてみるのがいいと思いますよ。 マクロで出来ないことで、付け加えたい機能とかが出てきた時にVBAを勉強すれば良いでしょう。

関連するQ&A

  • VBAマクロで、IEのアクセス履歴を消させたい

    こんにちは VBAマクロの初心者です。 VBAのマクロで、IEを開いて、URLをアクセスの後に、そのアクセスの履歴を残ってしまいましたが、VBAのマクロで、アクセスの直後に、そのアクセスの履歴を消させる方法をご存知の方がいましたら。教えていただけませんか?

  • Access2003 マクロでのVBA画面の閉じ方

    access2003です。 VBAを編集するときのウインドウ (Visual Basic Editor) が 開いているとき、マクロでこのウインドウを閉じるには どうすればいいでしょうか。 難しければVBAで閉じる方法でも構いません。

  • AccessでVBAって何に使えるんでしょうか?

    僕はExcelのVBAで長年仕事してきましたが、AccessでもVBAが使えるのは知っていますが、どんなことに使うのかがイメージ湧きません。 AccessってExcelだとVBAでマクロ組まないとできないような機能をデフォルトで持っているような感じじゃないですか? レポートみたいな画面も出せるし、Excelデータから普通に取り込むこともできるし、これ以上、何を自動化するのかな?と。 求人情報などでたまにAccessのVBAを使える人というのが条件にあったりするんですが、こういった仕事って何ができることを期待してるのでしょうか?

  • マクロとVBAの違いは?

    最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか? アクセスはマクロとVBA(VBE)が別れてるけど、 エクセルは「マクロの記録」でVBAコードが取得できますよね。 マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?

  • VBAとマクロの勉強について。

    VBAとマクロの勉強をしたいと考えています。ですが、通信講座がいいのか、本を買って独学で勉強するのか悩んでいます。特にVBAは向き不向きがあるようで、できない人はできないと聞きました。 何か良い通信講座か、わかりやすくてためになる本などがありましたら、教えていただけないでしょうか。よろしくお願いいたします。

  • accessでvbaの応用を勉強するには。。。

    accessでvbaの応用を勉強するには。。。 基本的な事で、恐縮ですが、accessのvbaを使ってお仕事をしている方、得意の方、基本的な構文は 勉強したのを前提で、さらに応用力をつける為にどのような事をしていますでしょうか?  私の場合、自分の興味ではじめたaccessですが、仕事で使う事はなく、せっかく覚えても、直に 忘れてしまいそうです。せっかく覚えたのだから更にvbaを使って応用力をつけたいとは思うのです が、皆さんはどんな事をしてstep upしていますか?

  • マクロとVBA

    エクセル2000を勉強していると、マクロとかVBAという言葉が出てきます。マクロは分かってきたんですが、VBAとはなんですか? また簡単なマクロを組んだり、VBAを勉強したいので参考になるHPなどがあれば教えてください。

  • VBAを効率よく勉強する方法

    現在Javaのエンジニアをしております。 これから、独学でExcelとAccessのVBAを勉強しようと思っていますが JavaとSQLを(一応)マスターした人が、短時間で効率よく勉強できる方法があれば教えていただきたいです。 例えば、とあるVBAの入門書を書店で手にとってみましたが プログラム自体が初めての人向けの本だったため 自分には物足りない感じがしました… 目的は業務で手を加える機会があるのと、仕事を効率化できる便利ツールを作りたいためです。 会社の先輩に相談したところ、あなたならネットで調べればできるでしょう、と言われ困っております。 経験者の方のアドバイスお待ちしております。

  • Excel VBAからAccessマクロを実行したい

    Excel VBAからAccessマクロを実行する方法を知っている人がいましたら 教えてください。 よろしくおねがいしまっす!

  • VBA(マクロ)を勉強したい

    VBAを勉強したいのですが、オススメの本等教えて下さい。 今FOM出版のマクロ入門を買って勉強しています。大体の基本操作は分かった気がします。

専門家に質問してみよう