5 Stimmen

Übergabe einer Objektreferenz in Visual Basic (VBA)

Wie übergebe ich ein Formular der TextBox Objekt an die Methode a?

Der folgende Code löst eine Ausnahme aus.

Private Sub DoSmthWithTextBox(ByRef txtBox as TextBox)
    txtBox.BackColor = vbRed
End Sub

Private Sub TextBox1_Change()
    DoSmthWithTextBox Me.TextBox1
End Sub

Das Problem tritt auf, wenn DoSmthWithTextBox Me.TextBox1 geht die String de TextBox1 anstelle der Objektreferenz.

Wie übergebe ich die TextBox Objekt zum DoSmthWithTextBox Methode?

13voto

Fionnuala Punkte 89346

Rewrite für Excel:

Private Sub DoSmthWithTextBox(txtBox As MSForms.TextBox)
    txtBox.BackColor = vbRed
End Sub

Soweit ich weiß, liegt das daran, dass Excel ein Objekttextfeld hat, das eine Form ist, während Benutzerformulare das ActiveX-Steuerelement textbox verwenden, so dass Sie einen ausdrücklichen Verweis auf die MSForms-Bibliothek benötigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X