Excel VBA 質問スレ Part33
■ このスレッドは過去ログ倉庫に格納されています
0660640
2014/06/10(火) 03:57:59.03ID:ZdnvVnA2そうなんですよ
MSForms.TextBoxには、BeforeUpdateが実装されてないんです
しかし、
Dim tb As MSForms.TextBox
Set tb = UserForm1.TextBox1
は通りますが
Dim tb As TextBox
Set tb = UserForm1.TextBox1
は型不一致でエラーになるように、TextBoxと言ってもいろいろあるようで
MSForms.TextBoxは、どうやらワークシート上に配置するコントロールのTextBoxのことで
ユーザーフォーム上のTextBoxを代入してもエラーにこそなりませんが、本来、適した型では無いようなのです
ワークシート用のTextBoxには元からBeforeUpdateが実装されていないので
ワークシート上のTextBoxでBeforeUpdateを取るのが無理なのは解りますが
ユーザーフォーム用のTextBoxには、間違いなくBeforeUpdateが実装されていて、実際に使えているので
ワークシート用のTextBox型ではなく、ユーザーフォーム用のTextBox型で宣言すれば
機能としては間違いなく実装されている以上、BeforeUpdateも取れるのではないかと思うのですが
その正しい型がどれなのかがわかりません
■ このスレッドは過去ログ倉庫に格納されています