[Code] VBA verschachtelte Schleifen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von panisha, 8. Januar 2009 .

Schlagworte:
  1. 8. Januar 2009
    VBA verschachtelte Schleifen

    Hallo,

    ich habe jetzt 3 Tage an diesen blöden paar Zeilen Code gesessen und es klappt immer noch nicht Vielleicht kann mir einer von Euch helfen?

    Es handelt sich um eine Auflistung auf einem Excelsheet, dass für jeden aufgeführten Mitarbeiter ein neues Worksheet erstellt, nach ihm benennt und dann mit dessen Daten füllt. Der Code gibt keine Fehlermeldung zurück - erstellt allerdings immer nur den ersten Mitarbeiter und hört dann auf...

    Also durchläuft er die äußere Schleife nur einmal und die innere für den erstem Mitarbeiter komplett...

    Hat jemand eine Idee, woran es liegen könnte? Ich verzweifle langsam...

    Danke schonmal im Voraus,
    panisha

    hier der Code:

    Code:
    Private Sub CommandButton1_Click()
    Dim x As Integer, z As Integer
    Dim y As Integer
    x = 11
    y = 4
    z = 4
    Do While Not Sheets(1).Range("B" & x + 1).Text = "" And Not Sheets(1).Range("B" & x + 2).Text = "" And Not Sheets(1).Range("B" & x + 3).Text = "" And Not Sheets(1).Range("B" & x + 4).Text = ""
     Do While (Not Sheets(1).Range("B" & x).Text = "" Or Not Sheets(1).Range("F" & x).Text = "")
     If (Not Sheets(1).Range("A" & x).Text = "") Then
     Sheets(3).Select
     Sheets(3).Copy After:=Sheets(3)
     Sheets(z).Select
     Sheets(z).Name = Sheets(1).Range("E" & x).Value
     Sheets(4).Range("A1").Value = Sheets(1).Range("A" & x).Value
     z = z + 1
     End If
     Sheets(4).Range("A" & y).Value = Sheets(1).Range("B" & x).Value
     x = x + 1
     y = y + 1
     Loop
    Loop
    End Sub
     
  2. 8. Januar 2009
    AW: VBA verschachtelte Schleifen

    Vielleicht liegts daran, dass du x immer erhöhst. In den ersten Loop-Bedingungen hängt ja alles von x ab.

    Code:
    Do While 
     Not Sheets(1).Range("B" & x + 1).Text = "" And 
     Not Sheets(1).Range("B" & x + 2).Text = "" And 
     Not Sheets(1).Range("B" & x + 3).Text = "" And 
     Not Sheets(1).Range("B" & x + 4).Text = ""
    
    Kann es sein, dass in den Zellen dann einfach nichts mehr drin steht?


    - - -
     
  3. 8. Januar 2009
    AW: VBA verschachtelte Schleifen

    Hallo, vielen Dank für die schnelle Antwort und den Hinweis mit dem
    Code:
    -Tag. Ich habe heute das erste mal etwas hier gepostet...
    
    eine der 4 Zellen ist mindestens befüllt... bei einer and-Bedingung müsste es doch, sobald das eines der Argumente erfüllt ist, die Schleife durchlaufen, oder?!
    
    Gruß,
    panisha
     
  4. 8. Januar 2009
    AW: VBA verschachtelte Schleifen

    Okay, da muss wohl der Haken sein:

    AND
    wird nur erfüllt, wenn ALLE Bedingungen WAHR sind.

    OR
    ist erfüllt, wenn EINE der Bedingungen WAHR ist.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.