• ベストアンサー

VBA 計算の速度調整

エクセルVBAでランダムに1から10の数字10000個を各セルに書き、各数字に対応する色に塗り分けるというコードを作ったのですが、実行ボタンを押して、色が自動的に塗り分けられていくスピードを早くしたり、遅くしたりすることはできるのでしょうか?

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

APIのSleepの例です。 新しいブックに標準モジュール作成して Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Test() For i = 1 To 20 Sleep (i * 100) Range("A1").Interior.ColorIndex = i Next i End Sub のコードコピィして実行してみてください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

WaitメソッドやAPI関数のSleepを使ってはいかがでしょう?

全文を見る
すると、全ての回答が全文表示されます。
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

そのコードと、コンピュータの速度で決まる速度以上には速くはできませんが、時間待ちや意味のない余計なことをさせることによって遅くすることはできます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel2007でのVBAについて

    Excel2007でのVBAについて お世話になります。稚拙な質問になると思いますがよろしくお願いします。 VBやマクロにつきましてはまったくの初心者なのですが、 「セルをランダム色で塗る」というコードを自分なりに考え、 ボタンに付着させてみました。以下の通りです。 With Selection.Interior .Pattern = xlSolid .Color = RGB((255 * Rnd), (255 * Rnd), (255 * Rnd)) .PatternTintAndShade = 0 End With しかしボタンを押し実行してみますと、塗りつぶしはされるのですが、 Excelを起動してから最初の実行は必ず同じ色になります(小倉色のような)。 ポチポチとクリックしていっても、ランダムにはならず 毎回同じ順番で色が変化していきます。 1,600万色の中からランダム色で塗りつぶされないのは、何が問題でしょうか? ご指摘と、解決の方法をご教示お願いいたします。

  • vbaでvlookup

    エクセルのVBAについて。 指定した範囲の中から検索条件に一致したデータを検索し、取り出してくれる関数vlookup をVBAで実現したいのですが、 目標として、エクセルのセル(列)に、値を入力されているとします。 VBAを実行するボタンをクリックすると、、、 その値に対応する文字列(事前に用意)をその値の右のセルに自動で入力させたいです。 このVBAを作ることが目標です。 vbaでvlookupを実現でなくても、それよりも簡単な方法があれば教えていただきたいです。 お手数ですが、よろしくお願いします。

  • VBAで作れるかな?

    エクセルVBAで、 スタートボタンを押すと値の入ってるセルを自動的に移動していって、ストップボタンを押すと止まる。 そんなルーレットみたいなものって作れますか???

  • セルをクリックした回数を表計算に自動的に入力する方法

    エクセルなどの表で、セルを1回クリックすると1を、2回クリックすると2を・・・と、同じセルをクリックした回数を数値として自動的に入力するよい方法をどなたかご存知ではありませんか? いちいちボタンを全セル分つくるのは大変ですし、VBAでうまい方法やサンプルコードなどがあればと思います。また、マウスに数字を割り当てるなどの妙技も歓迎致します。

  • vba

    vbaについて F5からL20までのセルに、 ランダムにセルを選び、1~20の20個の数字を 重複なしでランダムに表示させたいです。 省略できる所は省略した 簡潔なプログラム教えてほしいです・・・::

  • VBAでグラフ幅の自動調整

    WEBクエリで、エクセルに情報を落として、グラフを自動で更新できようになりました。 そこで、グラフ幅を自動調整する命令をしたいのですが、コードが浮かびません・・・ データは自動更新されているので、どんどん積もっていきます。 で、その次のコードとして『指定したセルに数字が入った場合』には古いデータを消すというステップで困っています。 IF文になるのでしょうか? 教えて下さい。

  • エクセルのVBAで教えてください

    エクセルのVBAで教えてください、セルA1の値をマクロボタンを押すたびに、セルC1から順番にC2・C3・C4・・・・と下に自動的に入力するVBAを教えてください。

  • VBA教えてください

    VBA初心者です A1~A5までのセルは色は白色のセル A6.A7セルの色は赤色の背景のセルです A1~A5までのセルは B~Dのセルに数値を入力するが A6.A7のセルのB~Dまでのセルは 結合してさらに結合したセルに「停止」 の文字を入力します。 私がVBAでやりたいのは 赤い背景のセルだけに反応して 自動でB~Dのセルを結合し 停止の文字を自動入力できるようにしたいです コードを書いてくれると めちゃくちゃ助かります 回答お願いします。

  • エクセル2007です。セルの塗りつぶしを自動に実行するVBAについて、

    エクセル2007です。セルの塗りつぶしを自動に実行するVBAについて教えてください。システム日付でVBAを使用したいのですが横軸に日付(2010/1/1~2015/12/31)、縦軸に時間(0~24まで)があるシートです。日付と時間がマッチしたところのセルを緑色に塗りつぶしたいと思います(スケジュール表を作成中です)。VBA初心者ですが、記述等教えていただきたいと思います。よろしくお願いします。

  • VBAでIEを操作したいです。

    VBAでIEを操作したいです。 エクセルでデータ管理をしております。 VBA・マクロ等を使用して、ウェブページの入力フォームに自動で入力、ウェブページの結果を再度エクセルに返すことはできますでしょうか? こちらがサイトになります。 モノレート http://mnrate.com/ こちらのサイトはアマゾンの商品の年間の価格推移を調べることができます。 ここに商品の「JANコード」(13ケタの商品ごとについているバーコード)を入力して、「グラフを見る」というボタンを押すと表示されます。 例えば、「Smap!Tour!2002! [DVD] 」という商品が知りたいとします。 その場合「4988002446582」(DVDの商品コード)を入力して「グラフを見る」を押します。 その後、ページが切り替わって切り餅のページが表示されると思います。 表示されたページの商品写真の横にあるASIN:「B00008GEUD」 という数字と、表示されたアドレス「http://mnrate.com/item/aid/B00008GEUD」をエクセルに返したいです。 話を整理させていただきます。 現在エクセルでは、A1セル~A100セルに「JANコード」(13ケタの商品ごとについているバーコード)が入力されております。 そこで「マクロ実行」をします。 そうすると、自動でIEが起動してB1セル~B100セルに「ASINコード」(例:B00008GEUD)、C1セル~C100セルに「ハイパーリンク」(例:http://mnrate.com/item/aid/B00008GEUD) ※エクセルから直接ジャンプできるように青色になったもの を自動で入力。 すべて完了後、IEが閉じてその後MSGで「完了しました」と表示される。 「入門者のExcel VBA」という本と、「EXCEL VBAでIEを思いのままに操作できるプログラミング術」という本を買って、一通り読み切ったのですが難しくて困っております。 分かる方おられましたら宜しくお願い致します。 最初だけしかわかりませんでした。 'IEの起動 Set ie=CreateObject("InternetExplorer.Application") ie.Visible=True 'URLへジャンプ ie.Navigate "http://mnrate.com/"

専門家に質問してみよう