プロが教えるわが家の防犯対策術!

EXCELにてコントロールツールボックスで貼り付けたテキストボックスにマクロで処理経過やエラーメッセージをログ風に出力したいのですが、424 オブジェクトが必要です、というエラーになってしまいます。
テキストボックスのオブジェクト名はTextBox1です。

マクロ内容はメッセージを出力する部分をサブルーチン化し、呼び出す仕様で作成しました。

Public Sub OUTMessage(InMsg As String)
Dim OutMsg As String
OutMsg = Format(Now, "HH:MM:SS") + " : " + InMsg + Chr(13) + Chr(10)
TextBox1.Text = TextBox1.Text + OutMsg  ・・・(1)
TextBox1.Activate
End Sub
上記の・・・(1)の部分でエラーとなります。
何度も確認しましたが、オブジェクト名は記述間違いないです。

どなたか同じ様な内容を試された方、アドバイスをお願いします。
数時間を費やしましたが、このエラーを回避できません。

A 回答 (1件)

textbox1があるシートがSheet1の場合ですが、textbox1を、sheet1.textbox1に変更して動くようなら、このモジュールのある場所からtextbox1が見えないのだと思います。


たとえば、標準モジュール内にあるとか、別のシートのモジュール内にあるとか。
ちがったらすみません。

p.s.
どうしてもエラーの理由が分からない場合ですが、Application.StatusBar = "メッセージ"で、ステータスバーにメッセージや途中経過を出すことができます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ご指摘の通り、マクロをmodule1で作成していた為、オブジェクト名の指定に不備があった様です。結局sheet1の埋め込みにする事により、トラブルを回避できました。アドバイスありがとうございました。

お礼日時:2008/01/21 09:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!