電子書籍の厳選無料作品が豊富!

■VBA(Excel2002)でユーザーフォームを追加し、extboxとCommandButtonを1つずつ設置しました。

Buttonを押すと↓が動き出します。

dim i as integer
for i= 0 to 10000
TextBox1.text = i
next i

■VisuaBasic 6.0 Proでフォーム上にTextboxとCommandButtonを1つずつ設置しました。
EXEファイルを生成し、Buttonを押すと↓が動き出します。

dim i as integer
for i= 0 to 10000
TextBox1.text = i
next i

■Visual C# 2005 Express Editionで
フォーム上にTextboxとCommandButtonを1つずつ設置しました。
EXEファイル生成後、Buttonを押すと↓が動き出します。

for (int i = 0; i <= 10000; i++)
textBox1.Text = i.ToString();

結果、一番速く表示されたのがVBAだったのですが、
一般的に遅いとされるVBAが一番速くなった原因(要因?)は何でしょうか?

よろしくお願いします。

A 回答 (1件)

ループを回すより、コントロールのプロパティにアクセスする方がはるかに重い。



VBのTextBox
VBAのTextBox
.NETのWindows.FormsのTextBox

の性能の違いが出たのでしょう。

純粋にループを回すロジックだけなら、違う結果が出るでしょう。

dim s as string
dim i as long
for i= 0 to 100000
s = i
next i
    • good
    • 1
この回答へのお礼

早速のご返信ありがとうございます。

>ループを回すより、コントロールのプロパティにアクセスする方がはるかに重い。

VBAも他と同様に、ユーザーフォームを追加してコントロールを貼り付けて、プロパティにアクセスしているのですが、どうでしょうか?

お礼日時:2006/04/13 14:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!