Textbox ein/ausblenden

Moderator: ModerationP

Textbox ein/ausblenden

Beitragvon lilly123 » 03. Mai 2019, 17:07

Hallo Forum,

ich versuche mich nun seit über einer Woche einen Code zu kreieren aber bekomme es irgendwie nicht hin.

Ich habe eine Userform mit einer Combobox und einer TextBox. Nun möchte ich, wenn die Combobox leer ist, das die TextBox unsichtbar ist. Und sobald ich in der Combobox eine Auswahl getroffen habe, soll die TextBox wieder da sein und zur Eingabe frei.

Ist sowas möglich ? Wenn das keine Große Sache wäre, wäre ich sehr dankbar für einen Code.

Vielen Dank schon mal.

Gruß Lilly
lilly123
 

Re: Textbox ein/ausblenden

Beitragvon Storax » 03. Mai 2019, 17:20

Evt. so
Code: Alles auswählen
Private Sub ComboBox1_Change()
    setVisibleTextbox
End Sub
Private Sub setVisibleTextbox()
    If Len(ComboBox1.Value) = 0 Then
        TextBox1.Visible = False
    Else
        TextBox1.Visible = True
    End If
End Sub

Private Sub UserForm_Initialize()
    setVisibleTextbox
End Sub
Benutzeravatar
Storax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3358
Registriert: 22. Okt 2013, 18:18

Re: Textbox ein/ausblenden

Beitragvon lilly123 » 03. Mai 2019, 18:26

Ein riesen Dankeschön :-))

Funktioniert super.
lilly123
 

Re: Textbox ein/ausblenden

Beitragvon JKooP » 04. Mai 2019, 08:38

Hallo,

da die Zahl "0" FALSCH entspricht und jede andere Zahl WAHR, kann man auch schreiben:

Code: Alles auswählen
TextBox1.Visible = Len(ComboBox1.Value)


Gruß Jens
Rückmeldungen und Anregungen sind für alle wertvoll...

Windows 10 - 64 Bit
Office 365 - 32 Bit
Benutzeravatar
JKooP
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 156
Registriert: 19. Jul 2015, 19:37

Re: Textbox ein/ausblenden

Beitragvon Storax » 04. Mai 2019, 08:59

Ist IMHO schlecht, da dort implizites Casting gemacht wird und das ein Anfänger
nicht versteht bzw. Anfänger es für coolen Code halten, ohne zu verstehen, was sie
da tun.

In VB.NET mit Option Strict On fliegt dir so etwas zu Recht um die Ohren.
Benutzeravatar
Storax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3358
Registriert: 22. Okt 2013, 18:18

Re: Textbox ein/ausblenden

Beitragvon JKooP » 04. Mai 2019, 10:12

Gut, dass wir hier nicht bei VB.NET sind.
Dann könnte man auch gleich andere Programmiersprachen zum Vergleich heranziehen.
Die implizite Umwandlung ist ja gerade der Vorteil von VBA.
Ich habe ja nicht gesagt, dass es falsch ist - es ist aber redundant!
Dein Beispiel als "Ternärer Ausdruck" sähe so aus:

Code: Alles auswählen
TextBox1.Visible = IIf(Len(ComboBox1.Value) = 0, False, True)


Vertauscht ergibt sich:

Code: Alles auswählen
TextBox1.Visible = IIf(Len(ComboBox1.Value) <> 0, True, False)


Gekürzt ergibt sich:

Code: Alles auswählen
TextBox1.Visible = Len(ComboBox1.Value) <> 0


Und das kann man wegen der impliziten Umwandung nochmals kürzen:

Code: Alles auswählen
TextBox1.Visible = Len(ComboBox1.Value)
Rückmeldungen und Anregungen sind für alle wertvoll...

Windows 10 - 64 Bit
Office 365 - 32 Bit
Benutzeravatar
JKooP
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 156
Registriert: 19. Jul 2015, 19:37

Re: Textbox ein/ausblenden

Beitragvon Storax » 04. Mai 2019, 13:45

Du hast meinen Punkt nicht verstanden.

Ein Anfänger weiß nichts hierüber und von daher ist Dein Code "schlecht", außer Du erklärst, was da passiert. Da ist
die Zahl "0" FALSCH entspricht und jede andere Zahl WAHR
IMO nicht ausreichend.
Benutzeravatar
Storax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3358
Registriert: 22. Okt 2013, 18:18


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 25 Gäste