• ベストアンサー

標準モジュールにコピーして、実行・・・??

エクセルVBA初心者です。 VBAを勉強すべく関連サイトを見て勉強しようと思ったのですが、 早くもつまづいてしまいました。 コードの例で、 『下記を標準モジュールにコピーして、実行してみてください。』 とあるのですが、 新しいエクセルブックを開いて標準モジュールに、ここでいう "下記"部分をコピペしたところまでは良かったのですが、その先の "実行"の仕方が分かりません。 初心者な質問でお恥ずかしいのですが、どなたか教えてください。 お願いします。

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

  • ベストアンサー
noname#70958
noname#70958
回答No.2

http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page01.htm に記載されているコードだと思いますが、おそらく(そのサイトの)記述ミスです。 本来 '----------------------------↓ ココカラ ↓----------------------------  '[ 呼び出し元 Sub プロシージャ ]   Sub Shouhizei()     Dim Kingaku As Long, Zeigaku As Long     Kingaku = InputBox("金額を入力してください。")     Zeigaku = Zeikinkeisan(Kingaku)   'Function プロシージャのマクロ名     MsgBox "消費税は " & Zeigaku & " 円です。"   End Sub  '[ Function プロシージャ ]   Function Zeikinkeisan(Kingaku As Long) As Long     Zeiritsu = 0.05     Zeikinkeisan = Int(Kingaku * Zeiritsu)   End Function '----------------------------↑ ココマデ ↑---------------------------- とでもすべきコードかと思います。 当該サイトの良否についてはコメントを控えますが、 個人的にお奨めできるサイトを挙げておきます。 ■☆ Excelでお仕事!(Excel全般の解説サイト) ☆ http://www.asahi-net.or.jp/~ef2o-inue/top01.html ■moug モーグ http://www.moug.net/index.html ※定番サイトですが、学習ページは再編成中のようです。 以上ご参考まで。

yunako0517
質問者

お礼

そうです!このサイトです!! ありがとうございました。 できました。 まだ知識不足のためコードの誤りにも気付くことができませんでした。 教えていただいたサイトも見ながらもっともっと勉強します! また分からないことがあったら宜しくお願いしますm(_ _)m

その他の回答 (1)

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.1

一度×ボタンでエディターを閉じて、エクセル画面でツール→マクロとやると、作成したマクロの一覧表が出ますので、実行したいマクロを選んで実行ボタンを押せばいいです。

yunako0517
質問者

お礼

コピペに指定された部分というのが下記のコードなのですが、 マクロの一覧を開いても登録されたマクロがひとつもない状態です。 どうすればよいのでしょう?  '[ 呼び出し元 Sub プロシージャ ]   Sub Kingaku As Long ,Zeigaku As Long     Kingaku = InputBox("金額を入力してください。")     Zeigaku = Zeikinkeisan(Kingaku)   'Function プロシージャのマクロ名     MsgBox "消費税は " & Zeigaku & " 円です。"   End sub  '[ Function プロシージャ ]   Function Zeikinkeisan(Kingaku As Long) As Long     Zeiritsu = 0.05     Zeikinkeisan = Int(Kingaku * Zeiritsu)   End Function

関連するQ&A

  • VBAで他のBOOKのマクロの実行

    VBAの初心者です。 ExcelのVBAで他のBOOKに記載された標準モジュールのプロシージャを実行するにはどのようにコーディングすればよいのでしょうか?

  • 標準モジュールが入っているワークブック

    Excel VBAです。 二つのワークブックを開いておいた状態で 両方のブック内のユーザーフォームを表示した状態にします。 この時、ある片方のワークブックを表示した状態でもう片方のユーザーフォームを使って 標準モジュールを実行したとします。 すると、当たり前ですが、エラーが出るか、間違った計算を行ってしまいます。 これを防ぐために、 if ActiveWorkbook.Name = xxxxx then といったものを用いる必要があります。 ワークブックの名称を書き換えるたびに このxxxxxのところも毎回書き換える必要があり、面倒なのですが、 実行した標準モジュールが入っているワークブック名を 返り値として返す関数ってありますか?

  • エクセルVBA:標準モジュールに書いたコードを順次検証する方法

    よろしくお願いします。 何かの本で見かけたのですが、調べてもわからないので教えてください。 エクセルVBAで、標準モジュールに書いたコードを上から順番に、どこかで区切って実行し、実行結果とコード内容を検証しつつ、順次、その検証を進めていく方法を知りたいのです。お願いいたします。

  • エクセル:保存するときに、標準モジュールに書かれたマクロの実行

    よろしくお願いします。 エクセルのVBAについての質問です。 ◆(上書き)保存をするだけ(ツールバーのフロッピーマークを押すだけ)で、『自動的に標準モジュールに書かれたある特定のマクロを必ず実行してから保存する』という方法はありますか?あれば教えてください。 ◆私が作った簡易システムをエクセル初心者の入力担当者のために上記のことを考えています。たとえば、「保存終了させる前に必ずこのボタンを押してこのマクロを実行してね」と説明してもうっかり忘れることが多いという方のための方策を考えてのお願いです。 以上、よろしくお願いいたします。

  • クラスモジュールを使わないとできないこと

    エクセル、アクセスでvbaを利用しています。 現在はすべて標準モジュールに記載しているのですが 「クラスモジュールを使わないとできないこと」もあるのでしょうか? クラスモジュールの使い方、必要性がいまいちわかりません。 まだ初心者な為複雑なコードは作っていません。 よろしくお願いします。

  • Excel2007でworkbookと標準モジュー

    私はまだまだVBAのプログラミングで駆け出し 段階でありながら、今までこのサイトで数々質問をさせていただきました。そして数々の解答と共にソースもいただきました。 皆さんありがとうございます。 これらのソースを1つのworkbookの標準モジュールに書きました。(こういう理解の仕方で良いのかわからないですけど?) そのブックをコピーして別のデータを入れました。 コピー元のブックにある標準モジュールのソースがコピーしたブックで使えると思いましたがエラーになります。 コピー元のブックの標準モジュールのソースがコピーしたブックで使える様にするにはどうすればよろしいでしょうか? コピーしたブックのデータ内容は変えてますが形は同じなので使えるはずなのですが。

  • Access VBA標準モジュールについてです。

    Access VBA標準モジュールについてです。 現在、仕事上必要にかられAccessVBAを勉強中の初心者です。初歩的な質問で申し訳ありませんが、ご存知の方教えて下さい。 フォーム上のコマンドボタンを押した時に標準モジュールを作動させたいのですが、そんな方法はありますか?【クラスモジュールについての本は沢山あって何とか理解できつつありますが、標準モジュールに関しての記述があまり無い気がします。】 宜しくお願いします。

  • アクセスで標準モジュールの中身を書き出したい

    http://officetanaka.net/excel/vba/vbe/05.htm の Sub Sample9() Dim Code As String Code = ThisWorkbook.VBProject.VBComponents("Module1").CodeModule.Lines(7, 5) MsgBox Code End Sub のエクセルではなく アクセスバージョンはないでしょうか? http://d.hatena.ne.jp/taka_2/20090907/p2 をアクセスの標準モジュールに貼り付けてみたのですが inFileName = WScript.Arguments(0) で実行時エラー424になってしまいます。

  • エクセルでインポートした標準モジュールが動かないのです。

    エクセル97VBA対応のVB6で作成されたプログラムを書いてある通りに、VBEでインポートしました。 しかし、標準モジュールには表示されているのですが関数の中には表示されないのです。 ユーザー定義関数では無くて別の方法で動かすものなのでしょうか? (Calc_Kyureki "2002","5","26"と入力しても名前が間違っていますと出てしまいます) それともエクセル2003では、エクセル97のVBAを動かすには何か別のインポートの仕方があるのでしょうか? 以下のベクターのソフトです。 旧暦 for VB Visual BasicまたはExcel VBAで旧暦を計算する標準モジュール(ソース付き) http://www.vector.co.jp/soft/dl/win95/personal/se243537.html 助けて下さい。宜しくお願い致します。

  • シートモジュールのマクロを標準モジュールに移したいのですが・・

    マクロを標準モジュールでなく、うっかりsheet2に作成しました。 作動は問題なかったのですが、sheet2を差し替える事になったので、 マクロを標準モジュールにコピーしたいのですが、標準モジュールではうまく作動しません。 なにが原因で解決するにはどうすれば良いのか全くわかりません。 マクロ初心者でネットを参考にしながら作成したので詳しい事は分かりませんが、よろしくお願いします。

専門家に質問してみよう