• ベストアンサー

エクセルVBAの組み込み方

ブックの再計算時間を短縮させるのを目的としてタイマーを組み込んで再計算時間を検証しようと考えています。   http://msdn.microsoft.com/ja-jp/library/aa730921.aspx に記述されているVBAを組み込もうと思っているのですが、その方法がわかりません。 VBエディターで、挿入-標準モジュール で表示されたウインドウにソースを貼り付け、上書き保存したのですが、ワークシートに戻ってマクロを実行させようと思っても、マクロの一覧にはマクロ名が表示されていません。 どこに誤りがあるのでしょうか。 また、このマクロの使い方はどのようにするのでしょうか。F9を押すたびに再計算時間が表示されるのですか? 以上、よろしくお願いします。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.2

ひょっとして、かたっぽだけ貼り付けてません? Private Declare Function getFrequency Lib "kernel32" _ で始まるFUNCTIONを定義したコードと Sub RangeTimer() で始まるSUBを定義したコードの両方がないと動作しませんよ。 つか、こういう話をするなら、この程度のコードは読めてからじゃ ないと、出てきた数字の意味も分からないんじゃないかと・・・。

maina-
質問者

お礼

おっしゃる通りでした。前半しか貼り付けていなかったようです。 両方貼り付けたところ、うまく実行されました。 お手数お掛けしましてすみません <(_ _)>

その他の回答 (1)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

実際にあなたが貼り付けたソースを提示してみてください。

maina-
質問者

お礼

すみません。前半部分しか貼り付けていませんでした。 早速のご回答ありがとうございました。

関連するQ&A

  • エクセル VBA 初心者です

    初めて、VBAマクロに挑戦する初心者です。(エクセル2003) 下記サイトの説明のように 1つ1つのセルをテキストボックス化できるようにしたいと考えております。 http://tks.or.tv/note/2008/10/excelvba-3.php そこで、自分のエクセルから、マクロ→basic editor→挿入→標準モジュールを表示するところまで到達しました。 ここでわからない所が、上記サイトには、コードが3分割になっております。 どのように貼り付けを行い、目的の操作までできるのかわかりません。 どうぞよろしくお願いいたします。

  • エクセルVBAのエディターが上書きモード?に・・・・。

    当方、エクセル2000です。OSはWindows98SEです。 時々ですがエクセルでエディターというのでしょうか?ようは標準モジュールなどにマクロを記述をする白い部分ですが、書いていると、通常は縦線だったカーソルが、作業の途中で黒い幅広(2ミリくらい)の線に変わってしまい、まるでワードの上書きモードのようになってしまいます。 PCを再起動させないともとにもどりません。 とても不便です。 なぜこうなったのか?再起動以外の復帰方法について教えていただきたいのです。 よろしく御願いします。

  • Excelマクロの[実行]ボタンが押せなくなった

    今までちゅんと使えていたExcel2000マクロを、[ツール]-[マクロ]のマクロ画面から実行しようとしたら、[作成]以外のボタンがグレーになって押せなくなっていました。 そのマクロ自体は何も変更していません。 しいていうと、コードを別のところにコピーするためにVBエディタでコード表示させました。今もちゃんとコードはあります。 また実行できるようにする方法はありますか。VBエディタはほとんど使わないので、修復方法の見当がつきません・・・ よろしくお願いします。

  • excel VBA タイマー表示について

    お世話になります。 excelで計算問題のプログラムを組んでいます。 計算時間を表示しながら、問題を解くようにしたいと考えています。 タイマー表示を下記で行っていますが、セルに文字を入力するとタイマーが止まってしまいます。タイマーを動作させながら、文字入力を行うことは、Excelでは無理でしょうか? キー入力中、タイマー停止であれば、達成済みです。 動作は次のようにしています。 1)問題スタートで、下記タイマーを起動 2)答えをキー入力しEnterキーで答え合わせ 3)指定問題数終了で、タイマー停止 4)正解率、トータル時間を表示 Do Until blnStop = True Cells(3, 10) = Int((Timer - dblTimer) * 100) / 100 DoEvents Loop

  • エクセルVBAでタイマーコントロールは使えますか

    エクセルVBAでタイマーコントロールは使えますか。 エクセルVBAで、ある時刻になったらマクロを実行させたいと思っています。 無限ループの中にTIME関数で時刻を呼び出し、それをIF文で判定して、 一定時刻にマクロを実行させるものは作りましたが、CPU負荷が高く、24時間 連続で動作させることに不安を感じています。 この他に、VBのタイマーコントロールのような機能を持つオブジェクトや 便利機能等があったら教えていただけませんか。 (一応、VBで時刻管理をするプログラムを作ってそこからエクセルVBAを呼 び出す方法やタスクスケジューラでエクセルVBAを呼び出す方法、ATコマンド 等も考えていますが、可能ならエクセルVBAで閉じて処理をしたい)。 尚、私はWindowsMe+エクセル2000でVBAを作成しています。 実際にVBAを動かすのは、WinsowNT4.0サーバー+エクセル2000を予定してい ます。

  • Excel2002(xp)でマクロやVBAが使えない

    起きている症状は、 Excel2000で作成したマクロを、Excel2002で実行しようとしたら、***はマクロを含んでいますとメッセージが出て、マクロを有効にすると、オブジェクトライブラリは登録されていませんというメッセージが出てきたので、OKにし、もう一度マクロを有効にしたら、「***の修復   ***にエラーが検出されましたがMicrosoftExcelは次の修復を行うことによってファイルを開くことができました。修復を保持するにはこのファイルを保存してください。  VisualBasicプロジェクトが失われました。 ActiveXコントロールが失われました。」というエラーメッセージが出てきて、マクロがなくなってしまい、また新しくマクロを記録しようとしても、記録できません、というエラーメッセージが出てきてマクロが作れなくなってしまいました。 尚、セキュリティは中にしてありますが、低でもマクロの記録ができないです。なぜでしょう? VBAプロジェクトのライブラリファイル参照がうまくいっていないということはわかるんですが、VBエディタの[ツール]>[参照設定]がグレーで開くことができません。 みなさんのお知恵をお貸しください。

  • エクセル向けのマクロをワードで使いたい

    エクセル向けに書かれたマクロ(質問番号180093の解答番号2、上付き下付き変換ソフト)をワード(2003)で使おうとして、ワードの標準モジュールに貼り付けたのですが、実行させるとApplication.Substitute等でerrorが出てしまいます。 このマクロはエクセル(2003)では確かに動きます。 ワードのVB参照設定でMicrosoft Excel5.0 オブジェクトライブラリにチェックを入れてみたのですがダメでした。 どのようにしたらちゃんと走るのでしょうか。マクロについてはほとんど経験がありません。どなたか教えて頂ければ助かります。

  • エクセルで個人用マクロを移すには

    エクセル2002で使用していた個人用マクロを、他のPCにインストールしたばかりのエクセル2003で使えるようにするには、どういう手順をとればいいのでしょうか。 エクセル2002がある方のPCの、 C:\Documents and Settings\User\Application Data \Microsoft\Excel\XLSTART\PERSONAL.XLS を、 エクセル2003があるPCのXLSTARTフォルダにコピーしてみたのですが、エクセルファイルを開いてVBエディタを起動しても、個人用マクロの標準モジュールが表示されないのですが。

  • Excel(エクセル)で非表示シートをVBAで計算するには?

    よろしくお願いします。 エクセルで1つのブックにAシート~Fシートまであるとします。 再計算させると、すべてのシートを再計算してしまうため時間がかかるので、マクロの自動記録を利用して「Aシート→Bシート→Cシート→Dシート→Eシート」と、必要なシートだけを順番に計算させる事で、処理時間短縮をさせる事をする事ができました。 EシートとFシートは表示させておいて、その他のA~Dシートは非表示にしました。 Eシートには、A~Dシートで計算した結果が表示されるようになっています。 ですが、A~Dシートを非表示にして作成したマクロを実行すると、エラーが出てしまい上手くできません。 A~Dシートを非表示にしていても、ブック全体を再計算させる事はできます。 非表示にしたシートをマクロで計算させるには、どのようにしたら良いでしょか? アドバイスをお願い致します。 登録したマクロは下記のようになっています。 Sub 計算() Sheets("Aシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Bシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Cシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Dシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Eシート").Select ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate Sheets("Eシート").Select End Sub

  • Excelのマクロを作ってもらえますか?

    こんにちは。 エクセルのマクロで、Sheet1に転々と 入力されているデータを すべてA1の列へ統一して並べ替え(2) 同じデータの数を計算してB2へ記述する(3)などという マクロができるなら作っていただけないでしょうか? もし、数の入った行のみ残して削除までできれば最良なの ですが(4) (2) AA-20 AA-20 AA-20 BB-30 CC-30 CC-30 CC-30 (3) AA-20   3 AA-20 AA-20 BB-30   1 CC-30   3 CC-30 CC-30 (4) AA-20   3 BB-30   1 CC-30   3 このようになのですが、 お時間のあるときで結構ですので宜しくお願いします。

専門家に質問してみよう