• ベストアンサー

EXCELのマクロについて

EXCELのマクロを使ってみたいと思いましたが、分からないことがあり、 みなさんの助けを借りたいと思い質問をしました。 現在、シート内にROUND関数を用いてランダムな数値を発生させています。 「開発」からボタンを設置し、そのボタンを押すとF9と同じ処理をするボタンを設置したのですが、 このボタンに「F9を1万回実行する」といった事をさせるのは可能でしょうか? ランダムな数値を1万回繰り返し発生させ、その1万回の結果をグラフなどにしたいと 思っているのですが、いかんせん初心者のため調べても分かりません;; どなたか教えていただけないでしょうか…。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

とりあえず一番簡単な方法としては。 sub macro1()  with range("A1:A10000")   .formula = "=INT(RAND()*100)"   .value = .value  end with end sub #こういうのが好みなら勿論別にかまいませんが。 sub macro2()  dim i as long  range("B1").formula = "=INT(RAND()*100)"  for i = 1 to 10000   cells(i, "A").value = range("B1").value  next i end sub 単純に遅いです。 #参考 >「F9を1万回実行する」といった事をさせる これは回答マクロ1の通り、1万個のセルに関数を記入するのと同じことです。 またマクロ2では、「セルに記入する」だけでRAND()関数は自動的に再計算(F9)されるというエクセルの基本機能を利用します。

kumainu555
質問者

補足

ご回答いただきありがとうございます>< なるほどぉ。。。 ボタンで乱数を複数出すこともできるのですね…。 教えて頂いた方法でできました。 また新たに質問をすると思います;; 差支えなければ次回もよろしくお願いいたします><

関連するQ&A

  • EXCELでマクロ

    グラフを作るマクロを作成したのですが、 ツール→マクロ実行  をしなくても、ワークシートに、「グラフ作成」などの題をつけたクリックして実行されるボタンがつくっているのを見ました。どのように、ボタンをつくるのでしょうか。

  • マクロ繰り返し

    宜しくお願いします。 A1~A10に数値、B1~B10に乱数を発生させて(RAND関数)、C1~C10にその順位を出す、その順位をG1~G10にコピー、F列に1行挿入、  これを10回繰り返す。 マクロのボタンを1回押せば、これが実行される。これを5回したいときはボタンを5回押せばいい?これを実行できるコードがあるのでしょうか、わかりません。お教えください。

  • エクセルのマクロについて

    エクセルのマクロ初心者です。 マクロを使用して印刷プレビューが見れるようにしたいです。 vlookup関数を使いsheet1に入力し、sheet2,sheet3,sheet4、sheet5へデータを反映させています。 sheet1に入力画面を作成してあり、セルA2~A13に入力すればsheet2へ、セルA17~A28はsheet3へ、セルF2~F13はsheet4へ、セルF17~F28はsheet5へデータを反映する作りです。 sheet2~sheet5はフォーマットを作成してあり、印刷するとA4で2枚印刷されるようになっています。 入力画面で入力した内容によってはA4用紙1枚ですむこともあります。(A1~M15でA4用紙一枚、A1~M31でA4用紙2枚) 教えて頂きたいことは。 ・入力画面にマクロのボタンを設置し、ボタンをクリックすると印刷プレビューが表示されるようにしたいです。 ・sheet2用、sheet3用、sheet4用、sheet5用、とボタンを設置したい。 ・印刷プレビュー後に、(実際には印刷後)に入力画面を表示したい。 ・印刷プレビューが見たいのはsheet2,sheet3,sheet4,sheet5です。 以上です。 説明が下手ですみません><

  • エクセルからワードのマクロを実行したい

    1. ワードで作られた報告書の表の数値をエクセルにコピーし、 2. その数値を使ってエクセルのオートシェイプでグラフを描き、 3. グラフをもう一度ワードの所定の位置に図として貼りつける、 というマクロを作成しています。ワードの表をコピーするマクロと、エクセルでグラフを描くマクロは作成できました。 問題はエクセルのシートに配置したコマンドボタンをクリックすると、グラフの入ったセル範囲をコピーするまではできたのですが、その後にワードのマクロを指定して実行させる方法がわかりません。 1.→2.のエクセルのマクロを実行する方はauto_openで何とかなったのですが、2.→3.は既にワード文書は開かれていますし、auto_openでは1.の手順ができなくなってしまうので困っています。 もし、エクセルのマクロでワードを操作などできるのでしたらそれでもよいのですが…。 ワードのマクロは初挑戦で、色々サイトも探したのですが見つかりませんでした…。 使用していますのは、Windows98SE,Excel97,Word97です。 ご存知の方、どうぞよろしくお願い致します。

  • エクセル:マクロ処理

    エクセルファイルにマクロを入れておき、あるボタンを押したらそのマクロが1回だけ実行される。 というようにしたい。 (質問)   ボタンは、どう作るか。コマンドで作るのか。   ボタン処理のところのマクロ記述はどんな感じのコードか。   このファイルを開いたときマクロを有効とするかは有効にするでいいんですよね。 (参考) ワークシート   ボタン1を表示しておく   マクロ   ボタン処理   実行処理 マクロend

  • EXCELマクロのボタンについて教えて下さい

    マクロを実行したいファイルがあり、複数のシートがあります。 今後も多様するものなので、メニュー用のシートを作り、そこにマクロの実行ボタンを何種類か置きたいと思っています。 メニュー用のシートを作り、ボタンにマクロを登録しても、そのシート上でしか動きません。 他のシートのデータを操作することはできないのでしょうか? よろしくお願いします。

  • 値によって違うマクロの実行

    表題の質問をさせていただきます。よろしくお願いいたします。 A1セルには、別シートで計算された値が転記されるようになっており、1から45までのいずれかの数値が入っています。 その数値によって異なる動きをするマクロが3個あります。  1から15の時はマクロA  16から30の時はマクロB  31から45の時はマクロC おのおののマクロはフォームのボタンから実行できるように登録してあります。 現在はA1セルの数値を見て該当するボタンを押してマクロを実行しています。 たとえばA1の値が「25」の時はマクロCが登録してあるボタンCを押しています。 そこで質問させていただきたいのは 既存のボタンを撤廃し 新たに設置するひとつのボタンで3個のマクロを制御したいと思ったのです。 新たなマクロでA1の値を取得し、そのマクロ内で既存のマクロへ割り振るためには どのような記述をすればよいのでしょうか。 よろしくお願いいたします。

  • エクセル2010 マクロを実行するボタンの作成

    エクセル2010で、 マクロを実行するボタンの作成方法か、初心者向けのサイトを教えてください。 やりたいことは、 シート1に入力した値が、シート2・3・4・・・の表に反映されて表示される。 (各シートの正しい位置に数値を反映させることは終了しました。) シート1に「シート2印刷」 「シート2印刷」・・・などのよなボタンを作り、ボタンを押すだけで、 シートの印刷を実行させたい。 です、宜しくお願い致します。

  • Excelのマクロで、円グラフの色を指定したい

    毎月使用するためのグラフのフォーマットを作成しています。 マクロ作成を何度も試みましたが、不慣れでなかなかうまくいきません。 どなたかご教授いただけると助かります。 Sheet1に以下のような表があります。   A   B 1 A社  10 2 B社  34 3 C社  15 4 D社  20 5 E社  5 6 F社  13 7 G社  32 A列は項目名、B列には数値が入っています。 これを元にした円グラフを、Sheet2に作成してあります。 円グラフなので、当月の数値を入力後、降順に並べ替えます。 ただ、並べ替えるとそれぞれの企業のグラフ色が毎月変わってしまうため、 項目毎にグラフの色を固定したいと思っています。 円グラフの色を固定(指定?)するマクロを作成したいのです。 http://excel-ubara.com/excelvba/EXCELVBA218.html http://hamachan.info/win7/Excel/engraph_color.html 上記ふたつのページにたどり着き、参考にしました。 特にひとつめのリンクで、表につけた色とグラフの色を同じにできるなら 簡単だと思い、すでに表の項目は、グラフにつけたい色で塗りつぶしています。 上記リンクのマクロを実行してみたところ、 グラフの色が全て真っ白になってしまいました。 表とグラフが別シートにあるので、そのままのマクロではダメなのでしょうか。 円グラフを選択してマクロを実行したら、表の項目名の色とグラフの色を 同じにするマクロを作成したいです。 不足している情報があればご指摘ください。 どうぞよろしくお願いいたします。

  • エクセルのマクロの記述について

    VBA初心者ですのでどうか詳しく教えてください。下記のマクロをエクセルで組んだのですが・・・ -------------------------------------------------------------------- Sub hideworksheets() Worksheets("sheet1").Visible = False End Sub Sub ボタン_Click() ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet3").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet4").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub ------------------------------------------------------------ 1.上記設定で"sheet5"という別シートにボタンを設置した場合、このボタンを実行すると、シート1~4のほかにシート5まで印刷されてしまいます。シート5を印刷したくない場合のVBAの記述について教えてください。 2.「Sub hideworksheets()  Worksheets("sheet1").Visible = False    End Sub」    の箇所で、シート1を非表示にしたいのですが、このマクロを実行時、「Sub ボタン_Click()」以下のマクロを実行しようとすると、「実行時エラー1004 worksheeクラスのselectメソッドが失敗しました」のエラーがでてしまいます。シート1を非表示にし、無事印刷のマクロを実行する為の記述を教えてください。

専門家に質問してみよう