matyuといいます。よろしくお願い致します。
初歩的な質問ですが、参考にしている書籍は「大村あつし 著 かんたんプログラミングexcel2003VBA 基礎編」ですが
データベースをリストに追加するというところで少々疑問に思うところがあるので質問させていただきます。
------------------------------------------------------------
P236
Sub SetListName()
Range("A3").Select
ActiveSheet.ListObjects.Add.Name = "会員リスト"
------------------------------------------------------------
今まで
Range("A3").Select
とセルを選択した後の記述は
selection~と書いたはずなんですが、なぜこのlistobjectsではactivesheetなんでしょうか?
これが決まりなんでしょうか?
因みに、selectionにしたらエラーがでました
できればその理由が知りたいとおもいましたので書き込みしました。
書籍での見落としでしたらすいません
よろしくお願い致します。
No.2
- 回答日時:
こんばんは。
私は、真面目にVBAを勉強して、丸6年になります。ご質問の本質的なことは、ぜ
んぜん、初歩的とか基礎的なことではないと思います。どんなベテランでも同じ
ことが起こります。これは、VBAのスクールのベテラン・インストラクターに聞
いても同じことを言うはずです。
現実的に、それはコーディングの結果でエラーが出てから考えるしかないと思い
ます。言い換えると、ListObjects の親オブジェクトが何かって、私も覚えてい
ないというか、ListObjects って何かすぐに分からないです。しかし、エラーを
出したから、間違えたというだけです。
そういうのを、初歩的とかいうなら、私も初歩レベルだと思います。でも、それ
でシステムとか作れないわけではありません。ほとんど使わないオブジェクトの
プロパティなど全部は覚えられないです。分からないときは、ヘルプやインテリ
センスで探すしかありません。語学の単語と同じで、頻度の上位と下位があって、
上位のものは覚えても下位のものは覚えられませんし、プログラミングでは、こ
ういう下位のものは覚える必要がないのです。
実際の作業では、
>Range("A3").Select
>とセルを選択した後の記述は
>selection?と書いたはずなんですが、
Selection というのは、Select(選択)した結果、つまり、シートをSelect した
ら、シートが入り、Range をSelectをした結果が入ります。ただ、この先、
Select --> Selection という形は、Excel VBA上では、慣れると書かなくなります。
ListObjects とオブジェクトが唐突に出てくるわけがないから、親オブジェクト
が何かは、探さなくてはならないのです。しかし、また、この手のものは、記録
マクロにしか登場しないようなものなのだと思います。
よほど、いつも使っていなければ、そんなことは分かるはずがないと思います。
それと、ワークシートオブジェクトの個々のプロパティは、何年やっても覚えら
れません。
実務で、エラーを出したときに、ListObjects のところで、F1 を押してみて、
ヘルプが出てきます。オブジェクトとして、親のExpression(-->オブジェクト)
に何が入るのか調べる調べます。
ヘルプでは、以下のように書かれています。
# ListObjects コレクションを取得するには、Worksheet オブジェクトの
# ListObjects プロパティを使用します。
それで、修正します。
また、最初からコーディングする場合は、シートモジュールで、Me(Meキーワー
ド)と書いて、その次に、「.(ピリオド)」を押すとリストが出てきますから、
それで、プロパティを探す(インテリセンスといいます)しか手がないと思いま
す。(残念ながら、標準モジュールでは出てきません)
Me. → ListObjects
あまり、細かいことを気にしないで、『かんたんプログラミング』の本を先に進
んだほうがよいです。語学の勉強と同じで、頻度というものがあって、あまり使
わないものは、覚えなくてはもよいと思います。細かいことを気にすると、最後
(『応用編』)までいくのに疲れてしまいます。
頑張ってくださいね。
Wendy02さん、締め切った後にわざわざありがとうございます。
私的にこんな情報量を頭に入れることは到底不可能だと認識しておりまして、いちいち調べながらやるものだと感じています。
その調べ方が今の段階ではわからず苦労しているしだいです。
質問の件ですが「かんたんプログラミング~」P169に、activesheet
プロパティについて
「activesheetメソッド、selecメソッドでアクティブとなったシートは
"activesheet"プロパティで参照できます」と記載がありました。
これをそのまま覚えるという覚え方にします。
No.1ベストアンサー
- 回答日時:
単純な話だと・・・
Selectionは、一般には、Rangeオブジェクトを戻す
で、ListObjectsプロパティは、Worksheetオブジェクトの子
(ただし、Excel2003以降のものに限る、Excel2002には、ありません)
「Range("A3").Select」の後に来る「Selection」は、「A3」のRangeオブジェクトだからだと・・・
かなり基礎的な話で、オブジェクトの親と子の関係が、判らないと、質問者さまのような質問になります
Dxakさん回答ありがとうございます。
基礎の基礎でしたか、一通り書籍を読んではいるんですが、ちゃんと理解していなかったようです。
出直してきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
エクセルVBAで2つの画像を比較...
-
VBAで Set wb = Sheets(1).Cop...
-
AccessVBAで「dim dbs as datab...
-
テキストボックス中の文字列の...
-
VBAで既に開いている別アプリケ...
-
VBScriptでファイルの日時順(降...
-
ExcelのVBAについて(グラフ操作)
-
ExcelVBAでのNZ関数について
-
【VB】【エクセル操作】 SaveAs...
-
VBAからPDFファイルにパスワー...
-
VBScriptからDLL参照設定したい
-
ADO 「NEW」の意味、必要性
-
ExcelでAccessのテーブルにADO...
-
上下の位置揃えについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
EXCEL VBA オートシェイプナン...
-
VBAからPDFファイルにパスワー...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
PowerPointVBAでスライドマスタ...
-
[VBA]CDOメッセージ送信エラー
-
AccessVBAで「dim dbs as datab...
-
VBAで作成するメール(開封確認...
-
VBからPDFファイル自動生成...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
テキストボックス中の文字列の...
-
エクセルマクロエラー「'Cells'...
おすすめ情報