Hallo Hajo,
eigentlich dürfte das Problem ja auch nicht aufkommen...es ist aber da. Ich habe hier noch einmal den vollständigen Code mit deinem Vorschlag zur besseren Übersicht:
Sub Trainings_Monate()
Dim kname As String
kname = Application.InputBox("kurzName eingeben: ", "Training")
Dim shBlatt As Worksheet
Sheets("Trainingszeiten").Select
Range("A3:H500").ClearContents
Range("A3").Select
Application.Calculation = xlCalculationManual
For Each shBlatt In ActiveWorkbook.Worksheets
If shBlatt.name Like "???" Then
Datei = shBlatt.name
Sheets(Datei).Select
Dim tabend As String
Range("A3").Select
Selection.End(xlDown).Select
tabend = Selection.Row
For n = 3 To Cells(Rows.Count, 1).End(xlUp).Row
If kname = Cells(n, 1) Then
Range(Cells(n, 1), Cells(n, 7)).Copy
With Sheets("Trainingszeiten")
'LoLetzte = Cells(Rows.Count, 1).End(xlUp).Row + 1
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
.Cells(LoLetzte, 1).PasteSpecial Paste:=xlValues, operation:=xlNone, skipblanks:=True
.Cells(LoLetzte, 8) = Datei
End With
End If
Sheets(Datei).Select
Next
End If
Next
Application.Calculation = xlCalculationAutomatic
End Sub
Im Sheet Trainingszeiten sind nur die beiden ersten Zeilen durch Überschriften belegt, so dass
'LoLetzte = Cells(Rows.Count, 1).End(xlUp).Row + 1
eigentlich 3 als Ergebnis beim ersten Durchlauf liefern müsste - es kommt aber 269 raus, so dass die Nachfolgenden Einträge ganz weit unten beginnen...???? Wie kann das kommen?
Gruß
Andreas