Hallo Daniel,
es kann natürlich so einfach sein....Danke für den Gedankenanstoß. Ich habe mich so auf einen Code verrannt, dass ich gar nicht daran gedacht habe, dass ich die Zelle ja direkt zuweisen kann.
Das Problem ist zumindest schon mal gelöst.
Dafür ist ein neues aufgetreten:
Kurze Erklärung zum nachfolgenden Code:
Er durchsucht jetzt anhand der Zieldatumszelle ("m" bei Sheets ist der richtige Monat, "t" ist der Tag +1, weil das Datum bei A2 beginnt und bis AF2 aufhört) die Spalte runter nach dem Urlaubskürzel "u". Bei Fund nimmt er den Wert der Zelle in Spalte 1 aus der Ergebnisreihe, denn da steht der Name und trägt ihn in die Tagesübersicht ein. Dann sollte er eigentlich weitersuchen, was er bisher auch gemacht hat :/
For d = 1 To 41
Set Ergebnis = Workbooks(wkbName).Sheets(m).Columns(t + 1).Find("u", Lookat:=xlWhole)
If Not Ergebnis Is Nothing Then
ErstesErgebnis = Ergebnis.Address
Do
Set Urlaub = Workbooks(wkbName).Sheets(m).Cells(Ergebnis.Row, 1)
With Tabelle1
Z = 3
nochmalUrlaub:
If .Cells(58, Z) = "" Then
.Cells(58, Z) = Urlaub.Value
Else
Z = Z + 1
GoTo nochmalUrlaub
End If
End With
Set Ergebnis = Cells(2, t + 1).EntireColumn.FindNext(Ergebnis)
Loop While ErstesErgebnis Ergebnis.Address
Exit For
End If
Next
d
Den ersten Namen findet er auch, trägt ihn ein, aber dann bricht er ab.
Bisher ging die Loopschleife einwandfrei, jetzt spuckt er mir im letzen Teil
Loop While ErstesErgebnis Ergebnis.Address
plötzlich Laufzeitfehler 91 aus.
Ich habe Ergebnis übringens als Range definiert.
Vielleicht sieht einer von euch auf einen Blick wo es bei mir hängt :/
Danke euch allen schon mal!