Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inhalte einer UF löschen

Inhalte einer UF löschen
26.11.2007 09:32:00
Mister
Guten Morgen allerseits!
Ich habe eine komplizierte UserForm mit sehr viel TextBoxen, ComboBoxen, CheckBoxen usw.
Wie kann ich per VBA den Inhalt aller Steuerelementen auf einem Schlag löschen?
Gruß
Martin

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalte einer UF löschen
26.11.2007 09:43:18
Rudi
Hallo,

Wie kann ich per VBA den Inhalt aller Steuerelementen auf einem Schlag löschen?


imho gar nicht.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Inhalte einer UF löschen
26.11.2007 09:48:00
Hajo_Zi
Hallo Martin,
auf einen Schalg nicht aber eins nach dem anderen.

Private Sub CMD_Leeren_Click()
Dim ObCb As Object
For Each ObCb In Me.Controls
If TypeName(ObCb) = "TextBox" Then
ObCb.Value = ""
ElseIf TypeName(ObCb) = "CheckBox" Then
ObCb.Value = False
ElseIf TypeName(ObCb) = "OptionButton" Then
ObCb.Value = False
ElseIf TypeName(ObCb) = "ComboBox" Then
ObCb.Clear
End If
Next ObCb
End Sub



Anzeige
AW: 2 Schläge
26.11.2007 10:04:03
Renee
Hi Martin,
Vielleicht so:

Private Sub ResetUserform()
Unload UserForm1
UserForm1.Show
End Sub


GreetZ Renee

AW: 2 Schläge
26.11.2007 10:06:00
Mister
Hallo an alle!
Das Makro von Hajo funktioniert hervorragend. Leider habe ich aber vergessen, dass der Inhalt von ComboBox1 nicht gelöscht werden darf. Wie kann ich das miteinbauen?
Gruß
Martin

AW: 2 Schläge
26.11.2007 10:19:26
Hajo_Zi
Hallo Nick,
lösche den Elsezweig für die ComboBox, das habe ich nicht als so kompliziert angesehen.
Gruß Hajo

Anzeige
AW: 2 Schläge
26.11.2007 10:34:00
Mister
Hallo Hajo,
Danke für deine Hilfe. Genauso habe ich's gemacht und da ich nicht sooooo viele ComboBoxes in der UF habe, habe ich den Inhalt mit ComboBox1.Value="" usw. gelöscht.
Einen schönen Tag noch
Gruß
Martin

AW:ComboBox leeren
26.11.2007 10:50:00
Hajo_Zi
Hallo Martin,
das hätte man aber auch mit folgender Änderung machen können

ElseIf TypeName(ObCb) = "ComboBox" Then
ObCb.value=""


Gruß Hajo

AW: 2 Schläge
26.11.2007 10:59:36
Renee
Hi Martin,
Es geht auch so:

Private Sub CommandButton1_Click()
Dim ObCb As Object
For Each ObCb In Me.Controls
If TypeName(ObCb) = "TextBox" Then
ObCb.Value = ""
ElseIf TypeName(ObCb) = "CheckBox" Then
ObCb.Value = False
ElseIf TypeName(ObCb) = "OptionButton" Then
ObCb.Value = False
ElseIf TypeName(ObCb) = "ComboBox" And _
ObCb.Name  "ComboBox1" Then
ObCb.Value = ""
End If
Next ObCb
End Sub


Bemerkung am Rande: Funktioniert aber nur, wenn die Comboboxen keine .RowSource Eigenschaft gesetzt haben. Im letzteren Fall versagt das Setzten der .Value Eigenschaft auf "" komplett.
GreetZ Renee

Anzeige
AW: 2 Schläge
26.11.2007 11:03:04
Hajo_Zi
Hallo Renee,
fehlt da nicht ein If und End If?
Gruß Hajo

Ich teste meinen Code ;-) owT
26.11.2007 11:12:00
Renee

AW: Frage zumm Code
26.11.2007 12:51:00
Hajo_Zi
Hallo Renee,
es sah mir eigenartig aus. Warum kann man in dem Fall auf If verzichten?
Gruß Hajo

AW: Frage zum Code
26.11.2007 13:07:00
Renee
Hi Hajo,
Warum kann man in dem Fall auf If verzichten?
Ich verstehe deine Frage nicht ganz. Wenn du das 'fehlende' End If meinst:
Ein ElseIf condition[s] Then kann von beliebig vielen statements gefolgt werden und braucht kein abschliessendes End If. Nur das umschliessende If muss mit einem solchen abgeschlossen werden.
GreetZ Renee

Anzeige
AW: Frage zum Code
26.11.2007 13:10:00
Hajo_Zi
Hlalo Renee,
ich hatte das And _ übersehen
Gruß Hajo

Sorry, hab Deine Antwort...
26.11.2007 13:29:00
Renee
zu spät gesehen. Damit erübrigt sich meine 2te Antwort.
Renee

AW: 2te Antwort
26.11.2007 13:12:00
Renee
Hi nochmals,
Nach dem ElseIf folgt die Bedingung, die hier aus 2 mit UND verbundenen Bedingungen besteht. Eine Bedingung kann ja mit (theoretisch) unzähligen UND und ODER und NICHT verbunden werden. Am Ende zählt nur die boolsche Verknüpfung aller Einzelbedingungen.
GreetZ Renee

AW: 2 Schläge
26.11.2007 16:35:00
Rudi
Hallo,

Bemerkung am Rande: Funktioniert aber nur, wenn die Comboboxen keine .RowSource Eigenschaft gesetzt haben. Im letzteren Fall versagt das Setzten der .Value Eigenschaft auf "" komplett.


? unter XP geht das.
Ist das nicht übersichtlicher als die vielen ElseIf?


Private Sub CommandButton1_Click()
Dim ObCb As Object
For Each ObCb In Me.Controls
Select Case TypeName(ObCb)
Case "TextBox": ObCb.Value = ""
Case "CheckBox", "OptionButton": ObCb.Value = False
Case "ComboBox": If ObCb.Name  "ComboBox1" Then ObCb.ListIndex = -1
End Select
Next ObCb
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige