ID非公開
ID非公開さん
2021/2/13 1:06
3回答
VBA上級者の定義を教えて欲しいです。WebデータをExcelに取り込んだり、ExcelデータをPowerPointに貼り付けられるようになったら上級者と呼べますか?
VBA上級者の定義を教えて欲しいです。WebデータをExcelに取り込んだり、ExcelデータをPowerPointに貼り付けられるようになったら上級者と呼べますか?
Excel | Visual Basic・228閲覧
ベストアンサー
むずかしいと思いますけど、少なくとも、 (a)クラスモジュールが思い通りに自由に作れる+SQLをExcelVBAで自由に操れる人、 だけが「上級者」です。 たとえば、連想配列?が使えたり、バブルソート等の基本のアルゴリズム?とかいろんなことが自在に操れる、ワークシート関数、文字コード、Web連携、COMオートメーション、等々に精通していて、Excelの諸問題をすべてVBAで解決してしまえるけど、クラスモジュールが作れない、SQLのことを知らない・使えない(=データ管理の基礎知らない)、という人が 「プログラミングの上級者ではあるかもしれないけど」 「Excelの上級者、ExcelVBAの上級者である」 とは言えないと思います。 だって、Excelは「とりあえず・表計算ソフト」なんですから。 データ管理の基礎を知らない人が、そもそもVBA以前に、「Excel一般操作」の上級者であるはずがありません。 あと、 (b)「ヘルプ・オブジェクトブラウザ・ウォッチウィンドウ」に頼る回数よりも、Web検索に頼る回数の方が多い という方も、「上級者」ではない、と思います。 上級者になると、これは必ず逆転します。 (2003~2010のヘルプとオブジェクトブラウザがすごくいいです。その意味では、2003や2007、2010を、中古購入してない人、昔から持ってない人、2003~2010で基礎を学習していない人、も上級者になりにくいとは思います。) そのほか、 (c)Webで調べてもわからなかったオブジェクトの操作でも、ヘルプ+オブジェクトブラウザ+ウォッチウィンドウ+イミディエイト+ローカル を駆使してなんとか自力で操作できる・・・・という、そういうことが「できない」ひと。 も、上級者ではないと思います。 そのほかにも、指標があるとは思います。 ========== また、クラスモジュールが作れる/作れないに関係なく、以下の方は、絶対に上級者ではないです。 中級者ですらありません。 (d)「オブジェクト変数」と「オブジェクトを返す」の意味が理解できない。 正しく他人に説明できない。 (e)「オブジェクトを返す色んなタイプの自作関数」を思い通りに作れない。 引数あり・なし、既定値あり・なし、など。 ========== そのほか、以下の方々も、絶対に上級者ではないです。 中級者ですらありません。 (f)オブジェクトモデル(階層構造の一覧図)の一覧図がどこにあるかわからない、図を理解していない。 (g)式、評価、返す、戻り値、キーワード、ステートメント、ステートメント名、値、型、などのヘルプ用語をちゃんと理解できていない。他人に正しく説明できない。 (これは「旧」のほうの「VBAエキスパート試験の公式テキスト」のせいかもしれないです。 (h)いつまでたっても、プロパティを「オブジェクトの性質」、メソッドを「オブジェクトの動作」、程度にしか説明できない。 プロパティもメソッドも、 「特定のオブジェクトでしか動かない(動けない)」 「値を返すor返さない」 「自作関数に似た仕組みのもの(=まったく小同じではないけど)」 です。引数もあれば、名前付き引数の使用方法、カッコの使用方法も自作関数(自作プロシージャ)と同じです。プロパティであっても。 (特にプロパティは、メソッドと同様、「動く」「モノ」、です。単なる「値、性質」の事ではありません。誤って「値、性質」と理解するとオブジェクトブラウザやヘルプが読めなくなります。) (i)ヘルプとオブジェクトブラウザが扱えない。存在意義が理解できていない、他人に正しく説明できない。特にオブジェクトブラウザ。 (j)「ウォッチウィンドウ」の存在意義が理解できていない、他人に正しく説明できない。(イミディエイトやローカルの意義が理解できていても) (k)「オブジェクト式」を正しく他人に説明できない。 (これも「旧」のほうの「VBAエキスパート試験の公式テキスト」のせいかもしれないです。そのせいかどうかは分かりませんが、「エクセル兄さん」として書籍を出版し・Youtube動画をアップしている人も間違った解説をしています。) (l)「オブジェクト式」の各種の「省略」が諸悪の根源のひとつ、ということが理解できていない。 (m)VBAで言うところの「ライブラリ」の意味が分からない。他人に大雑把でもいいので説明できない。 (n)エラーが自力で解決できない。 (o)オートメーションが使えない などなど。 ちなみに僕は、Vlookup関数すらあまり使ったことないので、「初級者」です。
>ExcelデータをPowerPointに貼り付けられる これは「オートメーション」を使いますが、これができても、 クラスモジュールが作れないなら、 「初級者か中級の下」、 という感じなると思います。 >WebデータをExcelに取り込んだり これは「HTMLタグやXMLタグ」を併用する場合なら、 これができても、 クラスモジュールが作れないなら、 「中級」、 という感じなると思います。 これは「HTMLタグやXMLタグ」を併用しなくて、ただ、 表を吸い込むだけなら 「初級」 だと思います。
質問者からのお礼コメント
とても丁寧な回答で分かりやすいのでベストアンサーです!
お礼日時:2/17 11:26