Geschachtelte Steuerungsstrukturen
02.12.2024 15:04:23
siefenv
Das ist mein erster Post in diesem Forum - falls ich also falsch bin, bitte ich freundlich darum, in den richtigen Forumsbereich verschoben zu werden :-)
Ich habe schon öfter versucht, Schleifen und Bedingungen zu verschachteln. Bei If-Bedingungen löse ich das als Workaround bisher immer so, dass ich die If-Anweisung in der einzeiligen Version für die geschachtelte Bedingung nutze. Allerdings lese ich immer wieder Codebeispiele, bei denen die Verschachtelung auch so funktioniert und wundere mich. Vor allem auch, weil es in der Microsoft Doku folgende Seite gibt: https://learn.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/control-flow/nested-control-structures
Ich versuche aktuell mal wieder, zwei Schleifen (in dem Fall for-Schleifen) zu verschachteln. Das sieht aktuell dann so aus:
For i = 1 To 6
Select Case i
Case 1
Sheets("90_Intern").Select
Case 2
Sheets("90_Extern").Select
Case 3
Sheets("90_Unbekannt").Select
Case 4
Sheets("180_Intern").Select
Case 5
Sheets("180_Extern").Select
Case 6
Sheets("180_Unbekannt").Select
ActiveSheet.UsedRange.ClearContents
For j = 1 To 12
Select Case j
Case 1
headlineStr = "Login:"
columnWidthDbl = 11
Case 2
headlineStr = "Vorname:"
columnWidthDbl = 11
Case 3
headlineStr = "Nachname:"
columnWidthDbl = 11
Case 4
headlineStr = "Firma:"
columnWidthDbl = 11
Case 5
headlineStr = "Orga:"
columnWidthDbl = 11
Case 6
headlineStr = "Position:"
columnWidthDbl = 11
Case 7
headlineStr = "Büro:"
columnWidthDbl = 11
Case 8
headlineStr = "Bereits deaktiviert:"
columnWidthDbl = 18
Case 9
headlineStr = "Deaktivierung am:"
columnWidthDbl = 18
Case 10
headlineStr = "Grund:"
columnWidthDbl = 45
Case 11
headlineStr = "Beschreibung:"
columnWidthDbl = 55
Case 12
headlineStr = "Letzte Änderung:"
columnWidthDbl = 20
With Cells(1, j)
.Font.Bold = True
.Value = headlineStr
.ColumnWidth = columnWidthDbl
End With
headlineStr = ""
columnWidthDbl = 0
Next j
Next i
Kann sein, dass der Code innerhalb der Schleifen auch so nicht funktioniert, weil man z.B. die Spaltenbreite nicht auf einzelne Zellen beziehen darf (weiß ich nicht), aber darum geht es mir jetzt nicht. Ich bekomme beim kompilieren immer den Fehler, "Next ohne for", obwohl ich das meiner Meinung nach genauso mache wie in der Doku und im Netz habe ich bisher auch nichts dazu passendes gefunden. Was mache ich falsch / wo ist der Denkfehler?
Vielen Dank im Voraus und viele Grüße
Victor Siefen
Anzeige