• ベストアンサー

エクセルVBAにて

エクセルのVBAでMsgbox関数を使用して Msgbox("計算が終わりました")というように記述 したのですが、マクロを実行してもメッセージが 表示されません。 どなたか教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.5

ほかのマクロは動作しますか? 他のマクロも動作しないならば、 ・Excelのセキュリティレベルの設定が「高」担っていないか ・ブックを開くときにマクロを無効にして開いていないか を確認してみてください。 さらに、コードの記述も確認してください。 メッセージを表示するだけのコードの場合、メッセージ文の前後の()は必要ありません。質問で書かれたように記述すると、エラーが表示されるはずです。 Visual Basic Editorで、標準モジュールを作成して、その中に以下のコードをコピーして実行してみてください。 Sub test() Msgbox "計算が終わりました。" end sub

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

私の経験では、前の実行でエラーが起こりストップしている場合、リセットして実行しないと、VBAルーチンが実行されないことを体験をします。 どこかに黄色でマークされた行はないですか。 その個所のエラー原因を取り除き、りセットし、実行しないとだめです。

  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.3

  ・その行がコメント行になっている ・実行したマクロと違うマクロに書いている ・IF文で制御していて、msgbox関数を書いた部分を通らない。 ・・・ということはないですか? Application.DisplayAlerts = False としても Application.ScreenUpdating = False としても msgboxは表示されているようです。 他に理由が思い浮かびません。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

状況がよくわかりませんが、こちらを参考にされてはいかがでしょうか。 Msgboxについては、第3章に説明があります。 http://www.sanynet.ne.jp/~awa/excelvba/kouza.html

参考URL:
http://www.sanynet.ne.jp/~awa/excelvba/kouza.html
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

それは、エラーか何かで落ちてる可能性があります。 また、コーディングによってその場所をスキップされてる可能性もあります。 宜しかったら、前後のプログラムをご提示ください。

fisherman2
質問者

補足

早速ありがとうございます。 ただ単に Msgbox"ありがとう”というような記述なんですが なぜかメッセージが表示されません。 普通は、このような記述でもマクロを実行させればメッセージが表示されるんですよね?

関連するQ&A

  • エクセルVBA

    エクセルVBAのコードについて質問です。エクセル初心者です。 Windows10で32bit版のエクセル2010を使っています。 1.エクセルのマクロは32bit版でも64bit版にも対応できるようコードを組んでいるのですが、 32bitで動いているのか64bitで動いているのかどのように確かめたらよいでしょうか? あるマクロの途中に #If VBA7 And win64 Then MsgBox ” 64bit ” #Else またはIf VBA7 And win32 MsgBox ”32bit” #End If を組み込むと、If分の終わりには If分の最後に#EndIfが必要です、と表示されて(EndIfを書いているのに) エラーになります。 2.エクセルマクロをIEと連携させて使っています。 IEを操作させている途中でエクセルのメッセージBoxを最前面表示させるには どうしたらよいでしょうか? IEで特定の操作をしたら、エクセルが最前面に出て、OKボタン付きのメッセージBoxが表示され、OKボタンを押すとIEを操作する という動作をコードに書いています。 コードを書いた直後は、IE上での特定の操作のあとメッセージBoxが適切に最前面表示されますが、 一度保存し閉じてファイルを開き直しマクロを実行すると、メッセージBoxは最前面に出てくれません。 検討したコードは 1. SetForegroundWindow 2.VBA AppActivate. Microsoft Excel. Capture 3.AppActivate Microsoft です。いずれのコードを書いた場合も、保存まではうまくメッセージBoxに回答できるが 保存しファイルを開き直してマクロを実行するとメッセージBoxはIEの後ろに隠れたままであり、エクセルを選択しないと最前面表示されません。 しかし一応最前面表示されることもあることから、マクロを一度実行するごとにエクセル内のデータが変わる可能性も考えられす。

  • エクセルのマクロ、VBAって?

    お世話様です。 エクセルは関数(fx)で計算等は出来るのですが マクロ、VBAとなるとさっぱり判りません? マクロ、VBAとは何ですか? どのような時にマクロ、VBAを使用するのでしょうか? 参考URLがあれば教えてください。 以上、お願いします。

  • エクセルVBAでメッセージを表示する

    エクセルVBAでメッセージを表示する時は、 Msgbox "表示する内容" と記述しますが、これだと[OK]をクリックするまで エクセル本体が全く操作できなくなってしまいます。 メッセージボックスを表示させた状態で、エクセルを操作できるようにすることは 出来ますでしょうか?

  • excel VBAについて質問します

    excel VBAについて質問します A列のセルには単なる数値や「44+30」のようなデータが入っているものがある。 ' + の記号があったら、セルの先頭に = を追加して計算させて答えを表示しなさい。 'マクロ実行後、A列には、数値だけが表示されることとする。 マクロ実行前   ⇒  マクロ実行後 22   --------------- 22 44+30 --------------- 77 35 -------------------- 35 22+11 --------------- 33 こういった感じにしたいんですがなかなか上手く行きません。

  • エクセルVBAでBeep音は?

    エクセル2000、Win2000です。 VBAで音を出そうと、下記のマクロを記述しました。 ところが、「MsgBox i & "回実行しました。」の部分を、コメントブロックしたら一回しか鳴りません。ビー、ビー、ビーと三回鳴ると思ったのですが、どうしてでしょうか? Sub sound() Dim i As Integer For i = 1 To 3 Beep 'MsgBox i & "回実行しました。" Next i End Sub

  • VBAとマクロの違い

    こんばんは。エクセル初心者です。 VBAとマクロの違いについて教えてください。 VBAというのは、プログラミング言語のことで よろしいのでしょうか? そのVBAで記述されたものをマクロとよぶ といったイメージでよろしいのでしょうか? たとえば、あるエクセルにはいってるマクロを 実行する、ということを作業マニュアルに記述 する場合 「○○マクロを実行する」というのが 正しいのでしょうか?それとも 「VBAを実行する」というのが正しいのでしょうか? まったく見当違いのご質問だったら申し訳ありません。 教えてください。

  • EXCEL VBAでシートを削除したい

    こんにちは。EXCEL VBAのことで質問させていただきます。 マクロでシートを削除しようと思い、 下記のように記述しました。 Sheets(1).Select ActiveWindow.SelectedSheets.Delete しかし、このように記述すると「選択したシートを削除します。~」のようなメッセージが出てきてしまうため、何度もOKボタンを押さなければなりません。これではマクロで自動実行した意味がなくなってしまいます。 このメッセージを回避する方法はないでしょうか。 宜しくお願い致します。

  • エクセルVBAの組み込み方

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

  • VBAのDirtyについて

    マクロ実行中に、セルに入っている式を再計算させたいのですが、Excel2003で作成したときには、 Dirtyを言うものを使用し、マクロの実行中に式を再計算させることができました。 しかし、Excel2000で実行すると、Dirtyの箇所でとまってしまい、再計算ができません。 Excel2000でマクロの途中で任意のセルの式を再計算させるためにはどのようにすればよいでしょうか? よろしくお願いします。 (再計算させたい式はCOUNTA関数でユーザー定義関数ではありません)

  • Excel VBA 1行ずつ実行するには 

    いつもお世話になっています。 Excel VBAで記述したマクロを 1行ずつ確かめながら実行する方法を教えてください。

専門家に質問してみよう