A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#2の回答者です。
私は、VBAをもうやっているわけではないので、ここでは、たまに書く程度になってしまいました。私は、残念ながら、かつての「VBAマニア」だったと思いますが、「オタク」ではありません。「マニア」は過去にこだわるが、「オタク」は未来を気にする、と言います。モーグの掲示板で書いている人の中には、2~3年でプロ級になり、Excel VBAのシステム開発で、ひとつ数百万円を取れる人もいます。Excel VBAでは、テッペンまで上り詰めた人だと思います。そういう人は、何でしょうね。
改めて書いたのは、みなさんのような常識論ではなく、あくまでも、経験論で、プログラミング言語を学ぶという前提です。Excel VBAは通過点だという人に対するもので、それ以上の他意は私にはありません。
ここで、「アルゴリズム」という言葉が出てきましたので、私は、数日、いろいろなVB系のテキストを取り出して探してみましたが、インデックスには、そのような単語は出てきません。もちろん、VBで、河西朝雄さんの書籍で「アルゴリズム」を勉強したことはありますが、VBAでは、ほとんど使わないのではないでしょうか。「アルゴリズム」が、プログラミング上で、手順ややり方という意味はあるけれども、VBAでは、使われない言葉だと思います。アルゴリズムというと、真っ先に、バブル・ソートを思い浮かべるはずですが、言うほどには使われませんし、特に必要ではありません。
VBAでは、だいたい「構文」を覚えれば十分だと思います。それ以上になれば「構造化」ということも出てきますが、Excel VBAで、そこまで考える必要はないと思います。
Excelを使いこなしたいなら、VBAなどは忘れて、Excelの使い方を覚えることですね。Excel の上級レベルは、Excel上のVBAよりも難しい部分があります。ほとんどの人は、Excelの使いこなしは、中途半端に終わっているはずです。Excel VBAが出来ると言っても、会社などでは、ほとんど評価されません。
VBAには、スプレッドシートの基本的なことだけで、後は特に不要だと思います。アプリケーションとVBAは別のソフトと思ったほうがよいでしょう。
あくまでもVBAを言語として、早く覚えるには、Excelの使いこなしは不要で、むしろ、基本の構文や文法を優先して覚えていくことです。その方がずっと早く覚えられます。そうして、オブジェクトという、英単語で言えば、基本動詞のような、いろんな意味を持つ単語を、VBAのコードを書きながら、身につけていくわけです。
それと、もし先のことを考えるなら、Excel VBAはあまり深入りしないことだと思います。もう、今からの人たちには、とても、上級テクニックの資料は手に入らないし、今後、Microsoftのことだから、いつ終わるともしれません。散々、VBAはなくなると言われてから久しいのです。Microsoft系は、たかが、VBAでも、上を目指せば馬鹿馬鹿しいほどお金が掛かります。
VBAでは、よほどの才能があるならともかく、他人が作ったものを、真似するしかなく、自分の知恵や努力だけでは大したものはできません。プログラミングの才能などいらないと思います。もしこだわるなら、これだと思った他人の書いたコードを記録し、実際に自分で、後で試して検討してみることと、美しくコードを書くことだけです。美しく書くというのは「記法」といって、書き方のルールがあります。それを無視した人は難しいです。なお、シモニーのハンガリアン記法は、今はあまり流行りません。
私は、VB6 やVB.Net をやりましたが、基本的なVBAというならともかく、Excel VBAは、とても構造的に煩雑で不完全です。三重構造(旧表計算仕様--R1C1ベース,Ver.4マクロ関数,VB6)と言ってよいと思います。VBAは、ところどころで制作上で後付けの修正箇所がありますが、それでも Excelのスプレッドシート側の操作が完全には出来ませんので、古い技術が必要になることがあります。それだけ努力して、Excel VBAを覚えても、Word VBAさえも、思うようにならないはずです。
それと、理由はともかく、何でもかんでもVBAにすることは悪くないと思います。数多く、コードを作ることだと思います。一番、勉強になるのは、基本関数を実現してみることです。その中でもSUM関数は代表的です。
それらが、仕事上で使うかどうかは別問題です。仮にこれは良いと思っても、業務に使えるものかどうかは、日にちと共に淘汰されていくはずです。「Excelレガシー」といわれ、いわゆる非定型業務のアプリケーションとして存在しているものは、ほかの誰も修正できないので、無用の長物になってしまいます。
ともかく、VBAをマスターしたいなら、基本的に、ひたすらコードを書いて実行することです。あるプログラムのインストラクターは、一つの段階に達するには、いろんなパターンのコードを500個書けと言われます。まずは、きちんとテキストを使って、システマチックに、ひと通り、全部やり残しを作らないことですね。
No.5
- 回答日時:
素人であり、まったく本格的なプログラマではありませんが、ちょっとはいじったことのある者として、一言。
他言語の習得にも何かしら役に立つでしょうし、コンピュータというもの自体に対する理解も深まると思いますので、勉強されるのはたいへん結構なことです。
ただマクロに関心を寄せられている方を拝見していていつも気になるのは、No.4 さんもおっしゃっていますが、何でもかんでもマクロで行おうとしてしまう方がいらっしゃるということです。マクロ化することの意義というのは、●人間には不可能と思えるほど超大量の処理、●頻繁に実行する同一処理の自動化、●時間の節約、●人為的エラーの最小化、●マクロでなければ本来的に不可能な処理、などを実現するためだと言えるでしょう。
つまり、Excel というソフトを手作業などで十分に活用している中で、ちょっと合理化したい部分が出てきたら、そこをマクロ化するという運用方針がお勧めです。換言すれば、Excel の一般機能だけでもできることは、結構たくさんあるということです。私も仕事で Excel マクロは大いに使っていますが、用途としては、ファイル・フォルダ・メーラー・ウェブページのオープンとか、特定データベースの並べ替え・抽出、断片的なコードの実行による未知データのチェックなど、限られています。
普段、多くの部分は手作業で行っており(キーボードのショートカットキーも多用しています)、そのほうが時間的にも合理的です。VBA は Visual Basic for APPLICATIONs ですから、使いこなすためには、Excel というアプリの理解が元々重要な言語なのです。
No.4
- 回答日時:
>エクセルのマクロを勉強したいと思っております。
良いことだと思います、頑張ってください。
一応、エクセルのマクロついて説明します。
VBAと言ってVB(ビジュアルベーシック)の文法が共通していますので
基本を理解しておくとVBS、VB.NetなどVB系の言語への理解は早いと思います。
1、VBAといって、それぞのOffice製品に付いている機能です。
WordやOutLookにもVBAの機能はついています。
それぞれのソフトが出来る内容、目的がことなりますので、VBAの使い方が
全く違うことになります。
VBの体系を学には、エクセルのVBAは特別にわかりやすいですし、
VBエディターの機能やHelp、Web情報もたっぷりあるので
入門者には、最適だと思います。
2、プログラムを動かすためのアルゴリズムを理解する。
プログラムを記述するためには、言語を覚えることは必須ですが、それと同様位に
どの様な手順をプログラムに書いて目的を実行させるか(これをアルゴリズムと呼びます)
の理解度が必要です。
これは、経験も必要ですが、先輩や他の方がエクセルのマクロをどの様に活用しているか
観察してみると良いでしょう。
3、仕事(職場)の中で、どの部分をマクロにすれば、便利になるのか、その際は
どの様な、シートやデータ構築をすれば良いのか。
初心者が失敗するケースで一番多いのがこれだと思います。
むやみやたらにVBAを記述して、かえって仕事を煩雑にしてしまう、シートやデータの構成が
むちゃくちゃだったために、必要以上にマクロが必要になる。エクセルに一般機能や関数で
十分なものまでVBAにしてしまう。等々ですね。
VBAと云う特技を身に付けたからと言ってむやみなVBA化はやめましょう。
エクセルの一般機能や関数も利用できるし、真の意味で役に立つVBAを考えましょう。
以上の事を前置きしたうえで
>その他のプログラミング言語の理解も早まりますか?
もちろん、役に立ちますが、基本はVB系の言語と思ってください。
アルゴリズムについては、全ての言語(言語以外に仕事の進め方などにも)に役に立ちます。
最後の、どのような機能のマクロを作成すれば良いのか経験にもなります。
これば、パソコンを活用するうえで共通の事と思います。
この3つが理解できれば、最高のエクセラーになり、他の言語の理解も早いし
すぐに実績と出てくるので仕事が楽しくなります。
最後の部分を間違うと、最低のエクセラーになり、職場で煙たられますので注意してください。
VBA(特にエクセルの)は奥が深いので、全てをマスターすることは不可能と思ってください。
VBA言語については初心者であるが、周囲の仕事などを理解したう上で活用していくと
経験の中から、必要なVBAの能力が自然と上がっていきます。
プログラマーの能力 = 言語の能力 * アルゴリズムの能力 * 活用力
と云った式になると後輩には説明しています。
中には、VBAという特殊能力を持った為に、VBAマニアになってしまう人がいますので
注意しましょう。
No.3
- 回答日時:
まずはじめに、VBA(Visual Basic for Application)ですね。
マクロとは、ひとつの作業の自動実行を目的とする機能のことです。VBAでは、必ずしも、マクロでないものも存在します。#2さんがおっしゃっているのは、VBAは、Visual Basic(VB6) という言語のサブセットだということです。ExcelなどのVB エディター側のヘルプのバージョンをみると、Visual Basic 6.5 と出てくるはずです。実際に、VBAを勉強する過程で、途中から詳しい説明がなくなってしまうのですが、その時に、VB6のテキストは役に立ちます。
ただし、VBAは、不思議な作りで、Ver.4マクロ言語や Ver.5 のオブジェクトを搭載しています。現在のMicrosoft は、その利用法をどこにも載せていません。
Visual Basic.Net(VB.Net) ですと、言語としてはかなり違いがありますし、戸惑うことが多いのですが、何もしていない人よりはずっと助けになります。VBAで最上級のクラスを使いこなせるようにならないと、よくわかりません。
それはともかく、他のプログラム言語を勉強する時に気がつくことは、VBAの上級コースまで終わっていないと、さっぱり分からないということです。いきなり、そこから、と思うことがあります。本格的なプログラム言語には、初歩的な説明はありません。
道は長いですが、飽きずに毎日続けることですね。天才的な人は、3ヶ月でマスターするのですが、凡人では、1年以上かかると言います。良いテキストを入手して勉強することですね。そうしないと、1年経っても覚えられないです。ちなみに、私は、1年どころか、2年経っても覚えられませんでした。
なお、性格的に覚えにくいタイプがあります。それは、少し分からないことがあると、そこを納得しないと先に進めない人です。初歩的なことを掲示板で聞いている人がいますが、たぶん、上達の見込みは薄いです。分からなくても、とにかく先に進むということをすべきなのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- その他(学校・勉強) 自分の市場価値を高めるには 3 2022/07/12 09:11
- Windows 10 パソコン得意な人どうやって勉強したか教えてください 13 2022/04/26 00:41
- TOEFL・TOEIC・英語検定 高校一年生レベル TOEFL IBTをめざす 2 2022/10/13 19:55
- アプリ botの作り方 1 2023/03/23 17:29
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- その他(プログラミング・Web制作) プログラミングを勉強してますが、難しくて、中々頭に入りません。 ふと思いましたが、今はサイト作成ツー 12 2022/12/21 19:46
- Ruby VBA 2 2023/01/14 14:14
- 高校 テスト勉強について 中間テストの結果がかえってきたのですがあまりよくありませんでした。 現代の国語と 2 2023/06/05 00:46
- その他(プログラミング・Web制作) アルゴリズムってプログラミング以外にも使えますか? 4 2022/04/16 18:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
エクセルの表を複数枚印刷した...
-
Excelのマクロでボタンを押すと...
-
エクセル ボタンに設定したマク...
-
エクセルで、「いいね」のよう...
-
複数のマクロボタンをまとめて...
-
エクセルの、記録を終了したマ...
-
エクセル マクロ名にブック名...
-
エクセルでマクロ(Excel 4.0)...
-
エクセルマクロで、別のブック...
-
マクロをマクロを使ってコピー...
-
別シートのマクロボタンをマク...
-
Word-VBAで文字色を一括置換し...
-
実行時エラー1004が出たり出な...
-
Excelマクロをバックグラウンド...
-
Excelマクロで、稼働中のマクロ...
-
Excel:マクロを消す方法教えて...
-
Outlookにマクロの記録はないの...
-
EXCELをTEXTに一括変換出来ませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセル ボタンに設定したマク...
-
エクセルの、記録を終了したマ...
-
エクセルの表を複数枚印刷した...
-
複数のマクロボタンをまとめて...
-
エクセルマクロで、別のブック...
-
Excelマクロで、稼働中のマクロ...
-
エクセルでマクロ(Excel 4.0)...
-
別シートのマクロボタンをマク...
-
(Excel VBA)シートコピー時マ...
-
Excel:マクロを消す方法教えて...
-
マクロ実行ボタンを自動削除したい
-
EXCELのマクロが他のパソコンで...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
Excelマクロをバックグラウンド...
おすすめ情報