Do Schleife
09.11.2015 20:40:40
Manuel
ich bin gerade dabei mittels Makro ein Arbeitssheet aufzubereiten welches ich vorher importiere aus einer anderen Liste.
Die Ursprungsdatei ist so aufgebaut, dass in Spalte A immer zuerst der Auftrag und darunter dann die Mitarbeiter stehen die den Auftrag abgewickelt haben. Zwischen dem letzten Mitarbeiter eines auftrages und des Namens des neuen Auftrages ist immer eine Leerzeile. Ich muss für eine spätere Bewertung die Namen des Auftrages in Spalte E schreiben, für jeden Mitarbeiter der unter dem Auftrag läuft.
Hier mal ein Beispiel:
Auftrag 1
Mitarbeiter 1
Mitarbeiter 2
Mitarbeiter 3
Auftrag 2
Mitarbeiter 1
Mitarbeiter 2
...
Ich habe das ganze versucht mit mehrere Schleifen zu lösen, jedoch klappt es nicht so wie ich es gerne hätte. Bei der Do Schleife hängt sich Excel immer auf. Habt ihr eine Lösung für mich?
Sub Zeiten_dieZweite()
Dim lnglast As Long
lnglast = Sheets("Upload_Zeiten").Range("A65536").End(xlUp).Row
u = lnglast + 1
For z = 3 To u
If Sheets("Upload_Zeiten").Cells(z, 2).Value = "" Then
p = z - 1 'hier 47
Exit For
End If
Next z
For k = 3 To p
Sheets("Upload_Zeiten").Cells(k, 5).Value = Sheets("Upload_Zeiten").Cells(2, 1).Value
Next k
'Do Until p >= lnglast
p = p + 3
For i = p To lnglast
If Sheets("Upload_Zeiten").Cells(i, 2).Value = "" Then
l = i - 1
Exit For
End If
Next i
For m = p To l
For g = 1 To p
Sheets("Upload_Zeiten").Cells(m, 5).Value = Sheets("Upload_Zeiten").Cells(m - g, 1).Value
Next g
Next m
p = l
'Loop
MsgBox p
End Sub
Danke
Manuel