Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

lange then bedingung

Forumthread: lange then bedingung

lange then bedingung
16.01.2008 09:31:07
Uwe
Guten Morgen,
habe eine if then else Anweisung mit mehr als 30 Aktionen in der "then" bedingung. Dabei sagt mir vba, dass die Anweisung zu lang ist. Kann ich das Abkürzen?
if... then
cb_1.enabled=true _
and cb_2.enabled=true _
and cb_3.enabled=true _
and cb_4.enabled=true _
and cb_5.enabled=true _
....
else
end if
wie kann ich das Abkürzen?
Vielen Dank für Eure Gedanken....
MfG Uwe

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: lange then bedingung
16.01.2008 09:54:50
Peter
Hallo Uwe,
wenn deine cb_s in einem UserForm(ular) enthalten sind, könnte dein If so gehen:

Private Sub CommandButton1_Click()
Dim bFehler  As Boolean
Dim iIndex   As Integer
Stop
If Range("A1")  "" Then
For iIndex = 1 To 30
If Controls("cb_" & iIndex) = False Then
bFehler = True
Exit For
End If
Next iIndex
Else
End If
If bFehler = True Then
MsgBox "Es gab eine CheckBox, die nicht auf True stand.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
End Sub


Gruß Peter

Anzeige
AW: lange then bedingung
16.01.2008 12:04:17
Uwe
Hallo:
Vielen Dank, aber das ist es noch nicht!
folgendermaßen:
Anhand eines Produktes 1, werden bestimmte Checkboxen oder Textboxen (je nachdem) sichtbar und eingie nicht. Wird ein anderes Produkt gewählt, sollen auch wieder bestimmte Checkboxen sichtbar sein. Für jedes Produkt unterschiedliche Checkboxen(Textboxen) und unterschiedlich Anzahl!
Mfg Uwe

Anzeige
AW: lange then bedingung
16.01.2008 09:57:00
Peter
Hallo Uwe,
den Stop-Befehl musst du natürlich löschen.
Die Abfrage der Zelle A1 ist ebenfalls nur Test, wie dein If aussieht, weiß ich ja nicht.
Gruß Peter

AW: lange then bedingung
16.01.2008 13:36:00
Uwe
Hallo:
Vielen Dank, aber das ist es noch nicht!
folgendermaßen:
Anhand eines Produktes 1, werden bestimmte Checkboxen oder Textboxen (je nachdem) sichtbar und eingie nicht. Wird ein anderes Produkt gewählt, sollen auch wieder bestimmte Checkboxen sichtbar sein. Für jedes Produkt unterschiedliche Checkboxen(Textboxen) und unterschiedlich Anzahl!
Mfg Uwe

Anzeige
AW: lange then bedingung
16.01.2008 14:44:11
Specke
Hallo Uwe,
ich löse solche Problem über Zahlencodes:
Wenn Z.b. fpr Produkt 1 alle ungeraden Checkboxen sichtbar sein sollen, sieht der so aus 1010101...
Ausgewertet wird dann so

Sub Zahlencode_auswerten()
For i = 1 To Anzahl_Checkboxen
If Mid(Zahlencode, i, 1) = 0 Then
.Controls("chk_" & i).Visible = False
Else
.Controls("chk_" & i).Visible=True
End If
Next i
End Sub


Vielleicht hilft Dir der Ansatz weiter.
Gruß Specke

Anzeige
AW: lange then bedingung
16.01.2008 23:01:32
Daniel
Hi
wenn du 30 Werte prüfen musst, musst du 30 Werte prüfen, da kannst du nichts abkürzen.
wahrscheinlich darf eine VBA-Zeile nicht mehr als 30 Textzeilen lang sein also versuche einfach mal, mehrere Prüfungen in eine Zeilen zusammen zu fassen und den Zeilenumbruch mit "_" erst nach 2 oder mehr AND-verknüfpungen zu setzen.
wenn das auch nicht funktioniert, kann man sich damit behelfen, daß VBA in berechnugen 0 als FALSE und jede andere Zahl als TRUE interpretiert. Somit entspricht eine AND-Operation einer Multiplikation und eine OR-Operation einer Addition.
dh dieser Code müsste auf jeden Fall funktionieren:

Dim Check as integer
Check = cb_1.enabeld
Check = Check * cb_2.enabled
Check = Check * cb_3.enabeld
Check = Check * cb_30.enabled
If Check then...


Gruß, Daniel

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige