• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAを用いて学習ソフトを作る)

Excel VBAを用いて学習ソフトを作る

このQ&Aのポイント
  • Excel VBAを使って学習用のソフトを作成する方法について解説します。
  • Excel VBAを勉強している方におすすめのプロジェクトです。学習用のソフトを作って実践力を身につけましょう。
  • Excelを使ってデータベースを作成し、VBAのマクロを使って検索機能を実装する方法について詳しく解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

別にプログラムのロジックなんて特別な存在ではありません。 日常生活で人間がやることをそのままなぞっただけです。 ところがコンピュータはバカだから、人間なら 「そこのドアを開けてきて」と言えばいい所を 「自分の位置を東経135度・北緯35度へ移動して、 右手を25cm前に出して、 右手でドアノブを握って、 右手の手首を右へ70度回転させて、 右手を更に10cm前に出してきて」 と言わないと実行できないというに過ぎません。 ロジックの基本は、「物事の解決手順」です。 それはプログラムの世界とは関係なく、ある程度の 年齢なら、日常生活や学校生活や会社の新人研修 あたりでもう身についていないといけません。 もちろん効率のいい方法やスッキリと片付く方法も ありますが、それはおばあちゃんの知恵袋的な存在 ですよね。あれば助かるけど、無ければ自分の力だけ で泥臭い方法のみで実現できないといけません。 それが「ロジック(物事の解決手順)を考え出す」能力 であり、一番必要とされる能力です。 > その通りですね。ただ今の自分の能力から考えたら > 何を作ったとしても必要性を感じられるプログラムは > できないと思ったのです。今回はとりあえず思いついた > このようなプログラムを組んでみようと思いました。 それはそれで良いのですが、自分でそこまで考えた 上での質問かどうかが鍵です。今の自分の能力さえ 十二分に使ってないという事はありませんか? 質問した時点で考えていたなら、問題点を踏まえた上で、 最初から質問の目的が「実用性」ではなく「自分の能力の 訓練」になっていたはずです。 質問文はもっと変わってこないでしょうか? オブジェクトブラウザと比べて同じような~といった動き を実装したいが出来なかったとか、新しい~な機能を 入れたくて~したが結果~となってしまった。とか 具体的な内容が出てきてもおかしくないです。 少なくとも作った結果どういったものができるかという 青写真はあってしかるべき。そこに必要とか必要じゃないか という観点で、 > 別の媒体をDBとして使う案や、追加しておいた方がいい属性などありましたら という質問が出てくるはず。 要は、日常生活で一般人が出来るあろうレベルで、精査 されてない。自分の脳みそでとことんまで考えていない。 極論を言えば丸投げになる思考パターンが問題なのです。 > 何か別案がありましたら教えてもらえるとうれしいです。 プログラムは学校の勉強ではないので、これといった 唯一の答えはありません。「物事の解決手順」なんて 解決すれば何だっていいのです。そんなものを事前に全部 聞いておこうというのがナンセンス。実際問題、やらなきゃ 覚えないことが私の経験則的にあるのですがどうですか? …自動車の免許等は講義だけで覚えられました? …英語は文法の説明だけで覚えられました? 人間の脳の構造的には、失敗した時に失敗を強く認識する事で その神経経路がリン酸化して次から正しい経路を選択する らしいですよ。(つまり正解ではなく不正解を学習すべき) 結局目的をもっと明確にすべきでは?実用性で言うなら > ただ捨てるのはもったいないので重要な部分や > 忘れやすい部分を残しておきたいと思ったからです。 それがコマンドやプロパティなどの解説だけに収まってる かどうかという点だけで結論は出てしまいます。 役に立たないと思います。 結果として役に立たないだけなら別に構いません。 私は、作ってる途中でどう作るべきか目的を見失う 可能性が高いということを問題と思っています。 目的が達成できないものであり、不明瞭なのですから 当然の結果そうなると思っています。 実用性が目的ではないなら、 > 追加しておいた方がいい属性などありましたら なんてどうでもいいかもしれません。そこに少々穴が あったところで問題になりませんし、むしろそこが なぜ穴となったかを学習すべきです。 > VBAは独学です。 独学というのは特に周りを見る視点を必要とします。 周りを見てますか?プログラムの入門サイトとか Tips 紹介のページの構成を研究しましたか?何が効果的か 更に効果的にするにはどうすればいいか考えましたか? まだまだ他人に質問する前段階で足りてないような気がします。 …とここまで書いた上で何ですが、むしろ 36-jack さんの質問には将来性があります。 > セルごとに、管理番号・所属・名称・説明文・登録日時 具体的な説明を入れようとしている痕跡があちこちに 見えるからです。 他の本当に「丸投げしか出来ない」人の質問はスルーする しかないのですが、この質問に関しては、敢えて時間を掛けて 答えさせて頂きました。「まだ足りない」と。 頑張って下さい。期待してます。

noname#198479
質問者

お礼

こんなに親身になって回答してもらったのは初めてです。 確かにおっしゃるとおりです。文章にも矛盾がありましたね。 始めてもいないのに失敗をめんどくさがって質問するのはよくないですね。 実際にこの回答の中にもわからない単語がいくつかあります。 丸投げと言われない質問ができるようもっと経験してからわからないところは 質問しようと思います。 ありがとうございました。

その他の回答 (2)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

コマンドやプロパティなどの解説だけで学習できるのかという 疑問が残るのと、オブジェクトブラウザとヘルプ(MSDN)が そのものなので、必要性から言えばほぼ無いと思うのと。 逆に1つのお手本があるのですから、参考にしてみても いいかもしれません。

noname#198479
質問者

お礼

>コマンドやプロパティなどの解説だけで学習できるのかという 疑問が残るのと、 確かにそうですね。これを作ろうと思ったもうひとつのきっかけとして溜まった書籍を処分しようと思っており、ただ捨てるのはもったいないので重要な部分や忘れやすい部分を残しておきたいと思ったからです。VBAの本に関しても今持っている簡単な入門書ではなく、ちゃんとした書籍を1冊持とうと思っていたので。 >オブジェクトブラウザとヘルプ(MSDN)が そのものなので、必要性から言えばほぼ無いと思うのと。 その通りですね。ただ今の自分の能力から考えたら何を作ったとしても必要性を感じられるプログラムはできないと思ったのです。今回はとりあえず思いついたこのようなプログラムを組んでみようと思いました。何か別案がありましたら教えてもらえるとうれしいです。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

エクセルVBAの勉強をかねてなら、データはそのVBAを入れたブックのシートに記録するのが普通でしょう。 >テキストファイルにCSV形式でそのままDB代わりに使う、などです は、VBAでも初等・中級解説本の範疇になってますが、メインの話題ではない。ただし難しいものではない。 他の構造のDBなども読み込み書き込みはVBAから(VB6機能というかCOMというか、ライブラリをそろえれば)使えたりしますが、エクセルVBAの本来の話題ではない。エクセルVBAでも覚える(「そんなの在ったな」程度を含めて)・習得することはいっぱいありますよ。 解説本や講義を受けて特に疑問を持たないのかもしれませんが、自分でプログラムを作るには、経験を積んで、適当なロジックを習得することのほうが大切だと私は思う。 また多様性という意味では、この質問コーナーのVBAの質問でも1ヶ月眺めてみて、どういう感想を持つか。例えば特殊案件で、自分には関係ない、手も足も出ない、解説本読書以外の経験が必要だな、自分でも回答できる、など。 >テキストファイルにCSV形式でそのままDB代わりに使う、などです 出来るというか1行(数行)のコードの実行で終わりますが、ニーズーー>メソッド・プロパティの整理が工夫がいると思う。 オブジェクトから行くかメッソッドなどから行くか、使い勝手の良いほうをよく考えてから。 しかしこれも経験を積んだ後に自分なりの良いと思うものが決ることで、始はあれこれ手を付けて、失敗も経験しないと現実には進まないでしょう。 例 罫線(対象物)   引く     VBAではXXXX 以下この部分の記述略 消す 点線にする 色を着ける ーー 削除(作用) 罫線を・・・ シートを・・ 行番号部表示を・・(非表示) セルを・・ 中核は解説本の索引が参考になる。各々の項目1つずつは、WEBには解説は必ずといって良いほど見つかるでしょう。 自作しないで、メソッド・プロパティの辞典(ABC順)があると便利だが市販本は現在では見かけない。

noname#198479
質問者

お礼

回答ありがとうございます。 >解説本や講義を受けて特に疑問を持たないのかもしれませんが、自分でプログラムを作るには、経験を積んで、適当なロジックを習得することのほうが大切だと私は思う。 VBAは独学です。経験を積むつもりで今回このようなプログラムを組んでみようかと思ったのですがこれを組んだところでロジックは身につきにくいということでしょうか? >しかしこれも経験を積んだ後に自分なりの良いと思うものが決ることで、始はあれこれ手を付けて、失敗も経験しないと現実には進まないでしょう。 わかりました。ありがとうございます。

関連するQ&A