3

彼氏にプログラミングを体験してもらいたいです。私なら、Scheme、Haskell、または F# を教えますが、彼は財政コンサルタントとしての仕事に役立つこと、つまり Excel のプログラミングを学びたいと考えています。

Excel プログラミングのオプションは何ですか? プログラミングを学び始めたばかりで、物事を成し遂げたいと考えている人に、どのプログラムをお勧めしますか? 彼 (上級 Excel ユーザー、初心者プログラマー) または私 (中級 Excel ユーザー、上級プログラマー) にお勧めの本やリソースはありますか?

ありがとう。調査結果を文書化するために、Excel のプログラミングに関するブログを開始しました。

4

6 に答える 6

5

長年の (ビジネス) Excel ユーザーおよびプログラマーとして、Basic 言語の主要な機能と、Excel オブジェクト (ブック、シートなど) との通信方法に焦点を当てた優れた VBA ブックから始めることをお勧めします。最初はユーザーフォームについて心配することはありませんでした-私は何年もそれらを使用していませんでした-最初はデータベースについてもあまり心配しませんでした.

特に、Basic 言語自体から始めて、Debug.Print を使用してイミディエイト ウィンドウに出力を書き込み、Excel が接続されているという事実を無視するという 2 つの領域に焦点を当てることをお勧めします。ユーザー インターフェイスのない純粋なコード ソリューションを好むオイラー問題のいくつかを解くことで、これについて非常に良い練習をすることができます。

その後、Excel オブジェクトと対話する方法を学び、できるだけ多くの Excel フォーラムや Web ページを読んでヒントを見つけました。たとえば、一度に多くのセルを読み書きするよりも、一度に多くのセルを読み書きする方がはるかに高速です。

はい、VBA はほとんどの「専門的な」言語ほどフル機能ではありませんが、ほとんどの言語よりも重要な利点が 1 つあります。それは、書くのがはるかに簡単で、平均的なユーザーがチェック、変更、および保守を行うのがはるかに簡単であることです。ビジネスの世界では重要です。Excelと合わせれば、素晴らしいビジネスツールです。

于 2008-11-10T14:34:47.633 に答える
2

基本的に 2 つの大きなオプションがあります。VBA コード (マクロ) または .NET コードを記述できます。

VBA コードは、単純な言語で構築されているため、しきい値が低くなります。しかし、彼が一般的なプログラミングに興味がある場合は、.NET (できれば C#) を学習したほうがよいかもしれません。これは VBA よりもはるかに強力であり、適切なソフトウェアの構築とその背後にある重要な概念について、彼に多くのことを教えてくれます。

私は彼に、最初にばかげた小さな Winforms アプリケーションをプログラミングして基本を理解してもらい、次に Excel の相互運用性を調べてもらうのが最善だと思います。「C# Excel」をグーグルで検索すると、C#/Excel 相互運用コードの例がたくさん見つかります。以下に一例を示します。

http://dotnetperls.com/Content/Excel-Interop-Performance.aspx

于 2008-11-10T10:07:27.577 に答える
1

少なくとも実行時間に関しては、VBA は VB6 です。インターフェイスがそれらのいくつかの側面を提供することを受け入れる場合、カプセル化と(宗教戦争を開始したくないので)ポリモーフィズム/継承を理解できるようにするのに十分なオブジェクト指向機能があります。彼が Excel で多くの時間を費やしている場合、マクロを記録し、それをクリーンアップすることを学ぶことで利益を得ることができる、現在彼が行っているいくつかの繰り返しがあると思います。それは、彼自身のワークシート関数、ループ、あらゆる種類の便利なものを書くことにつながる可能性があります。彼が本当に上級者である場合 (簡単なクイズ: 名前に数式を入れることについて知っていますか? 配列数式に慣れていますか?)、VBA が役立つ場所で彼が悩まされていることがあります。

今のところ、.Net は無視しておこうと思います。.Net は大きすぎて、彼が独自のソリューションを作成できるようになるには時間がかかりすぎます。

または、彼にRubyを教えてください。これは、子供たちがScratchから移行したときに、私が子供たちに始めさせようとしているものです。

于 2008-11-10T10:56:08.963 に答える
1

VBA は、開発を始めたばかりで、基本を理解したい人にとって最適な出発点です。Excel または Word COM ライブラリを活用することにより、さまざまな言語で Excel をプログラミングすることができます。これは C# などの言語で簡単に実行できますが、プログラミングを始めたばかりの人には適していません。

注意の言葉だけ。VBA は完全な機能を備えたプログラミング言語であり、複雑なアプリケーションをサポートできますが、プログラミングの実践が不十分になる可能性があります。これは、数理計算に Excel を多用する大規模な組織で発生するのを見てきました。基本的に、コードは、ソフトウェア エンジニアリングではなく、財務計算を念頭に置いてアクチュアリーによって作成されました。

長期的には、Java や C# などのエンタープライズ プログラミング言語の方が優れています。

于 2008-11-10T10:59:03.603 に答える
0

あなたはVBAで多くのことをすることができます、おそらく金融の誰かがしたいと思う以上のことです。VBAは、そのような人々だけを対象としていると私は信じていますが、一般的に悪い報道を受けます。プログラマーであるあなたがボーイフレンドにVBAを教えた場合、彼はプログラミングについてある程度理解し、マクロを記録することで達成できるものよりもはるかに早く、非常に便利な作業ツールを渡さなければならないと思います。さらに、VBAからVBScriptへの非常に短いステップです。

于 2008-11-10T10:22:28.873 に答える
0

マクロは、Excel をプログラムする 1 つの方法です。この YouTube ビデオをご覧ください: http://in.youtube.com/watch?v=k_fWcffRAG4 マクロを記録して使用する方法を示しています。

于 2008-11-10T10:03:56.680 に答える