• ベストアンサー

VBAコードでイミディエイトウィンドウを表示する方

VBAコードでイミディエイトウィンドウを表示する方法はありますか? 例えば、 Sub test() Debug.Print Now End Sub を実行したときに イミディエイトウィンドウが表示されていなければ結果がわかりませんよね。 Ctrl+Gでイミディエイトウィンドウを表示出来る事は知っていますが サブプロシージャーと実行とともに、 イミディエイトウィンドウをVBAで表示する方法を教えてください。 Sub test() Debug.Print Now イミディエイトウィンドウを表示 End Sub のようにしたいです。 ご回答よろしくお願いします。

  • fd45aa
  • お礼率100% (102/102)

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

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

準備1 Excel画面のマクロのセキュリティで「Visual Basicプロジェクトへのアクセスを信頼する」必要があります 準備2 VBE画面の参照設定で「Microsoft Visual Basic for Applications Extensibility」を参照しておきます 手順: application.vbe.windows("イミディエイト").visible = true

fd45aa
質問者

お礼

準備1の 「Visual Basicプロジェクトへのアクセスを信頼する」にチェックを入れましたが これは該当のファイルだけではなく、全てのファイル(他のファイル)に適用されてしまうのですね。 準備2の VBE画面の参照設定で「Microsoft Visual Basic for Applications Extensi は、5.3となっていましたが、それにチェックを付けました。 application.vbe.windows("イミディエイト").visible = true を実行してみたら、うまく出来ました。 ありがとうございました。

関連するQ&A

  • NowとNow()とどちらを使った方が良いですか?

    どちらも結果は同じでした。 Sub test1() Debug.Print Now End Sub Sub test2() Debug.Print Now() End Sub TechNet

  • vbaコードが遅い

    当方access2003、XP、メモリ2G、コア2DUOなのですが Sub 取得() Dim DB As DAO.Database Dim T As TableDef Set DB = CurrentDb Debug.Print "開始:" & Now For Each T In DB.TableDefs 'ここでやたら時間がかかる Debug.Print T.Name & "取得時間:" & Now Next End Sub これを実行すると、 For Each T In DB.TableDefs を通る時に5秒くらい時間がかかりますがそういうものなのでしょうか?

  • イミディエイトウインドウの活用方法

    イミディエイトウインドウに 「?len("aaa")」と入力しエンターキーを押すと 実行され「3」と表示されることがわかったのですが こういうことはどういう場合に使うのでしょうか? Sub test() Debug.Print Len("aaa") End Sub と同じ意味ですよね? わざわざ標準モシ゛ュールに Sub test() Debug.Print Len("aaa") End Sub を書くのは面倒なときに イミディエイトウインドウで ?len("aaa") とすれば楽だ! という時に使うのでしょうか?

  • VBA 複数の文字のコードを一気に返すには

    Sub test1() Dim myStr As String myStr = "abc" Debug.Print Asc("a") Debug.Print Asc(myStr) End Sub このコードは、どちらも97が返るのですが、 myStrは3文字です。 3文字全ての文字コードを返すには、 Sub test2() Dim myStr As String myStr = "abc" Debug.Print Asc(Mid(myStr, 1, 1)) & Asc(Mid(myStr, 2, 1)) & Asc(Mid(myStr, 3, 1)) End Sub のようにするしかないのでしょうか?

  • vba 「02」を返したいのですが

    Sub test() Debug.Print Month(Date) End Sub のようなコードの時に 月の表記を02のように2桁で返すにはどうすればいいですか? Debug.Print Format(Month(Date), "mm") これだと、なぜか「01」が返ります。 「02」を返したいのですが、どうすればいいでしょうか?

  • " "を複数表示させたい VBAで

    Sub test() Debug.Print String(5, " ") End Sub これを実行すると、「&&&&&」になってしまうのですが、           を作るにはどうすればいいですか?

  • 変数を続けて宣言した場合はEmpty型になる?

    Sub test1() Dim Int1, Int2 As Long Debug.Print "---------- test1の実行結果 ----------" Debug.Print TypeName(Int1) Debug.Print TypeName(Int2) End Sub Sub test2() Dim Int1 As Long Dim Int2 As Long Debug.Print "---------- test2の実行結果 ----------" Debug.Print TypeName(Int1) Debug.Print TypeName(Int2) End Sub を実行すると、 ---------- test1の実行結果 ---------- Empty Long ---------- test2の実行結果 ---------- Long Long の結果が得られます。 test1のInt1がEmpty型になりますが、変数の型にEmptyはないですよね? どういうことなのでしょう???

  • (Access) VBA イミディエイトの使い方を教えてください。

    (1)標準モジュールにある時は、イミディエイトウィンドウにうまく表示されます。しかし、フォームオブジェクトの中に作成したときは、実行しても何も表示されません。なぜなのですか? (実行したコード) Sub test() Dim i, s s = 0 For i = 1 To 10 s = s + i Debug.Print s Next i End Sub 本などを読みましたが、いまいちイミディエイトが、どういう場面で使えるのかよく分りません。 (2)もし、初心者でも参考になるようなサイトなどが有れば、そちらもぜひ教えてください。 宜しくお願いします。

  • ワード vba

    ワードの文書内に、文字があるかどうかをvbaで確認したいのですが エクセルのコードを張り付けてみましたが、 もちろんエラーになります。 Sub Macro() If Not Cells.Find(What:="test", MatchByte:=False) Is Nothing Then Debug.Print "testはあります" End If End Sub Cellsで、エラーになります。 このようなコードをワードで使う場合はどう書き換えればいいでしょうか? よろしくお願いします。

  • イミディエイトウインドウの最高表示数は199行?

    当方XP&Office2003です。 Sub test() Dim i As Long For i = 1 To 200 Debug.Print i Next i End Sub を実行すると、 2 3 ・ ・ ・ 200 と、表示され、最初の1が消えてしまいます。 イミディエイトウインドウでは、199行までしか表示できないのでしょうか? 私がoffice2003だからですか?

専門家に質問してみよう