複数のページを持つユーザーフォームがあります。それぞれにワークシートに戻す前に数値を確認したいテキストボックスがあります。複数ページのユーザーフォームのテキストボックスの値を確認する
私はこれを行う他、通常のユーザーフォームがあります。これは正常に動作しますが、私はそれが動作しません。このマルチユーザーフォームと似た何かをしようとすると、
Private Sub myTextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
OnlyNumbers
End Sub
Private Sub OnlyNumbers()
If TypeName(Me.ActiveControl) = "TextBox" Then
With Me.ActiveControl
If Not IsNumeric(.Value) And .Value <> vbNullString Then
MsgBox "Sorry, only numbers allowed"
.Value = vbNullString
End If
End With
End If
End Sub
を。
私は
Me.ActiveControl.ActiveControl
を使用してみましたが、時間エラーを実行し、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」を取得。これは、テキストボックスがフレーム内にあるときに機能しますが、ページは同じように扱われないようです。
私はいくつかのより多くのと働く何かを見つけたの周りに遊んでいた: Me.MultiPage1.SelectedItem.ActiveControl は、私はあなたの方法があまりにもかかわらず、働くだろうと思います。ありがとう。 – KingKong
うん、それもうまくいくはずです。もう1つの方法では、アクティブなマルチページの一部ではないコントロールを選択することができます。 –