Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1740to1744
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
Inhaltsverzeichnis

UF Kontrolle Textboxes - Comboboxes

UF Kontrolle Textboxes - Comboboxes
20.02.2020 17:45:41
Peter
Hallo,
ich habe eine Userform mit 4 Textboxes und 2 Comboboxes.
Nun möchte ich eine Prüfung aufbauen, dass nur eine TextBox oder ComboBox geändert werden darf.
Wenn keine Änderung der Textbox oder ComboBox getätigt wurde und der OptionButton4 gewählt wird, wird der nachstehene Code abgefragt:
        'alles gleich
Private Sub OptionButton4_Click()
If TextBox1.Value = TextBox11.Value And TextBox2.Value = TextBox12.Value And ComboBox1. _
Value = ComboBox5.Value _
And ComboBox4.Value = ComboBox6.Value And TextBox4.Value = TextBox14.Value And  _
TextBox5.Value = TextBox15.Value Then
'                MsgBox "alle Werte gleich - Abbruch"
Label18.Caption = "es wurde keine Änderung vorgenommen!"
CommandButton4.Enabled = False
OptionButton4 = False
'2 Änderungen nicht möglich TB11 und TB12
ElseIf TextBox1.Value  TextBox11.Value And TextBox2.Value  TextBox12.Value And  _
ComboBox1.Value = ComboBox5.Value _
And ComboBox4.Value = ComboBox6.Value And TextBox4.Value = TextBox14.Value And  _
TextBox5.Value = TextBox15.Value Then
'                MsgBox "alle Werte gleich - Abbruch"
Label18.Caption = "es wurden zwei Änderung vorgenommen!"
CommandButton4.Enabled = False
OptionButton4 = False
Call OptionButton3_Click
... usw.
End if
End sub
Nun möchte ich, dass alle Felder abgefragt werden, die nur 1 geändertes Feld besitzt, dann wenn 2 geändert wurden, wenn 3 geändert wurden und wenn 5 geändert wurde.
Gibt es hierfür eine Lösung, mit welcher nicht für jede einzelne Variante ein eigener Code geschrieben werden muss?
Gruss
Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF Kontrolle Textboxes - Comboboxes
22.02.2020 09:27:58
Matthias
Moin!
Ich würde deinen Vergleich in eine Funktion auslagern. Dort zählst du nur die die übereinstimmen. Da brauchst du nicht alle Fälle durchgehen. Die Auswertung dann nich in einer komplizierten ElseIf Schleife sondern mit select case. Sieht dann so aus. Schau aber mal bei deinem zweiten Fall. Da gibt es Änderungen aber die Msgb "alle Werte gleich " taucht auch auf. Also im Code das select baust du so ein:
Select Case vergleichen
Case 6 'du zählst ja was gleich ist
MsgBox "alle Werte gleich - Abbruch"
Label18.Caption = "es wurde keine Änderung vorgenommen!"
CommandButton4.Enabled = False
OptionButton4 = False
Case 5 '5 gleich
MsgBox "alle Werte gleich - Abbruch"
Label18.Caption = "es wurden zwei Änderung vorgenommen!"
CommandButton4.Enabled = False
OptionButton4 = False
Call OptionButton3_Click
'usw.
Case Else
End Select
und die FUnktion (mit in das Modul der Userform)
Function vergleichen() As Long
vergleichen = 0
If TextBox1.Value = TextBox11.Value Then vergleichen = vergleichen + 1
If TextBox2.Value = TextBox12.Value Then vergleichen = vergleichen + 1
If ComboBox1.Value = ComboBox5.Value Then vergleichen = vergleichen + 1
If ComboBox4.Value = ComboBox6.Value Then vergleichen = vergleichen + 1
If TextBox4.Value = TextBox14.Value Then vergleichen = vergleichen + 1
If TextBox5.Value = TextBox15.Value Then vergleichen = vergleichen + 1
End Function
Im Select werden jetzt die übereinstimmungen verglichen. Willst du das über die Änderungen machen, dann macht den select anfang so
Select Case 6 - vergleichen

Da du 6 Vergleiche hast, die davor und dein Ergebnis abziehen. Musst dann aber bei den Case Fällen auch die Zahl ändern.
VG
Anzeige
AW: UF Kontrolle Textboxes - Comboboxes
24.02.2020 07:32:08
Peter
Hallo Matthias,
besten Dank für Deine Hilfe.
Ich werde es mal ausprobieren, wobei es sich sehr kompliziert liest.
Gruss
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige