A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
VBAとはVisual Basic Applicationの略でVBという言語をさらにOfficeに特化したものです。
基本的な処理の流れ等に関しては変わりませんが、参照するコントロール等が全く違いますので、別物と言えば別物です・・・
ただ、ExcelおよびAccess共に普通に使えるという事であればさほど苦労はないかと考えます。
『VBの部分は同じでAの部分のみそれぞれのアプリに対応している』と考えると簡単かと思います。
No.3
- 回答日時:
VBAプログラムは、おおきくは・・・、
(01)文字ベースのデータを加工するプログラムと、
(02)「オブジェクト」と呼ばれるもの
(=ブックやシート、セル、テーブル、
クエリ、その他部品・パーツ・ユニット)
を動かすプログラム
・・・・の2つに分かれます。
(01)のことを「一般データ操作」と呼ぶかどうかわかりませんが、でもそういう感じです。
(02)はよく「オブジェクト操作」と呼ばれます。
プログラムの最小単位は「プロシージャ」と呼ばれる単位で、Sub~End Sub、あるは、FunctionからEnd Function、までのあいだで1つのプログラムとなりますが、VBAでは一般的には、その1つのプロシージャの中に、前述の(01)と(02)の両方が混在します。
で、AccessVBAとExcelVBAの違いですが、(01)の部分はおおむねほぼ同じです。
文字列、数値、日付データ、True/Falseなどの2値、などの、文字ベースのデータを加工します。
通常、関数や演算子、ステートメント、といったある意味「命令」たちで加工します。
違ってくるのは(02)の「オブジェクト操作」のほうです。
まず、Excelのオブジェクトには、
シート、セル、ブック、ピボットテーブル、グラフ、グラフの部品、オートシェイプ、など、があります。
そして、Accessのオブジェクトには、
テーブル(実表)、クエリ(仮想表)、フォーム(データ入力画面)、レポート(連続帳票印刷機能)、ピボットテーブル、グラフ、グラフの部品、オートシェイプ、などがあります。
そのほか、目には見えないけど、裏方で動くオブジェクトもあります。大きいもの、小さいものがあります。オブジェクトは大きい・小さい・目に見える・見えない、にかかわらず、「複数の機能の集合体」で、「ユニット・パーツ」というイメージです。
ある意味「ミニミニロボット」といってもいいかもしれません。
文字ベースのデータたちとは違って「立体的・3D的なイメージ」です。
オブジェクト、は、オブジェクトが内包する「メソッド」「プロパティ」「イベント」といった機能たちを引き出しつつ、列挙(Enum)、定数、こちらもステートメントといった命令たちを使って動かします。
オブジェクトには、ピボットテーブル、グラフ、グラフの部品、オートシェイプ、のように、ExcelもAccessも共通のものがあります。リボンの一部もそうかもしれません。
逆に、「Excelの、シート、セル、ブック」と「Accessの、テーブル、クエリ、フォーム、レポート」といったものはお互いに「違う・異なる」部分です。
また、それらのオブジェクトが内包する「メソッド」「プロパティ」「イベント」といった機能たちも、それぞれの内容が全部、異なります。
また、Accessは、「SQL」という「乱暴だけど言わばデータ管理の世界標準の命令」に、「Accessそのものが依存したつくり・仕組み」、になっています。(Excelはそうなってはいません。)
ですので、VBA以外にも「SQL」というものを随所でよく使います。「SQL」はExcelでも使えるのですが、Accessはソフトそのものがそれベースで作ってあるので、Excelよりも頻繁に使います。
その関係で、AccessのVBAの中では、その「SQL」を、Excelよりもたくさん「併用」します。
そこも、Excelと「非常に」大きく異なるところです。
あと、「オブジェクト」はすべて「階層構造」になっていて、Excelの階層構造はAccessの階層構造と比べるとかなり複雑です。
AccessはExcelやWordの「ユーザーフォーム」の階層構造に若干似ていて、Excel本体の階層構造よりはかなりシンプルです。
そのため、ExcelVBAの階層構造をしっかり学んだ方なら、AccessVBA自体はそれほど難易度は高くないと思います。
ただ、Accessの場合、「SQL」の深いところを学習する方がたいへんかもしれません。
かえってわかりにくくなってしまった気がしますので大変申し訳ございませんが、AccessVBAとExcelVBAはそんな感じの「違い」があります。
No.2
- 回答日時:
>初めて聞く用語で、どのような違いなのか調べてもピンと来ません
簡単に言えば、VBAの問題ではなくて、その本体のAccess と Excel の違いですね。
本体とVBA(VB6系)が、インターフェイスでつながっている、と考えればよいと思います。
VBAというのは、アプリ用にVB6のタウンサイズしたものと解釈してもよいと思います。
だから、Access VBAもExcel VBAも本質的には変わらないです。
ただ、実務面でみると、Excel VBAは、入門者からベテランまで幅広く、VB.Net, C# まで出てくるわけで、Excel VBAは底知れないものがあります。Excel で、VBAが出来るといっても、記録マクロを加工するレベルの人さえ含まれます。
私個人はAccess VBAからの恩恵が高いのは、私が覚えた頃は、Access は、VB6を使ってきた人たちが多かったので、そこから学んだものが多くあります。しかし、Access は、Access VBAが出来ても、データベース全体を把握し使いこなさなくてはならないので、VBA自体は、あまり重要なファクターとは言えません。
No.1
- 回答日時:
違うといえばいいのか、違わないと言えばいいのか・・・。
>初めて聞く用語
VBAのことですか?
AccessとExcelはご存知なのでしょうか?
ExcelにはセルがありますがAccessにはないのでその辺りの扱い方が変わりますけど、そういうところさえ掴めばそんなに違わないと言えると思いますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Visual Basic(VBA) VBAでWordのネストした表にデータを挿入したい 4 2023/04/24 10:18
- Excel(エクセル) ランダムで四択の問題を作る場合にvbaで何を学べばいいでしょうか。 1 2022/04/14 16:45
- Excel(エクセル) Excelのvbaについて教えてください。 図形一つ一つに名前がついています。 指定した図形の名前を 2 2022/08/04 15:13
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- Excel(エクセル) 「Excelのオプション」の「ユーザーインターフェイスのオプション」の設定値をVBAで取得したい 1 2022/07/31 23:49
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
VBAで既に開いている別アプリケ...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
エクセルマクロエラー「'Cells'...
-
エクセルのVBAの標準モジュール...
-
VBAについてです。 初心者です...
-
EXCEL VBA オートシェイプナン...
-
UserForm1.Showでエラーになり...
-
テキストボックス中の文字列の...
-
ある文字列が全て数字であるか...
-
エクセルVBAでFor each文
-
横軸ラベルの追加に関するエラ...
-
メモリ解放について(ASP)
-
VBA (Row とRowsの違いについて)
-
VBで引数にDictionaryオブジェ...
-
PowerPointVBAでスライドマスタ...
-
EDINETの情報をEXCELにダウンロ...
-
VBScriptでExcelのグラフを貼り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報