ich kenne mich mit VBA leider überhaupt nicht aus.
Ich habe eine Excel-Datei. Auf dem 1. Blatt ist die Haupttabelle (hier mit 2011 bezeichnet) mit:
Name des Mitarbeiters / Verdienst / Abrechnungsmonat / noch mehr (aber uninteressante Spalten)
Für jeden Mitarbeiter gibt es ein neues Blatt mit dessen Namen.
Nun möchte ich, dass wenn der Name des Mitarbeiters in Spalte A dem Namen des Tabellenblattes entspricht, die Zeile in das Blatt kopiert wird (soweit bin ich mit Hilfe von viel google schon gekommen).
Ich möchte aber, dass dies nur kopiert wird, wenn gleichzeitig in Spalte C (=Abrechnungsmonat) Januar steht. (und genau da komme ich nicht mehr weiter).
Hier was ich gebastelt habe.
Sub Sortieren()
Dim iRow As Long
Dim iSheet As Integer
'Abfrage: Wenn der durch die Schleife angesprochene Name nicht dem Namen "2011" entspricht,
dann Daten löschen
For iSheet = 1 To Worksheets.Count
If Sheets(iSheet).Name "2011" Then _
Sheets(iSheet).Range("A2:N65536").ClearContents
Next
For iRow = 2 To Sheets("2011").Range("A65536").End(xlUp).Row
'Schleife zum Prüfen ob für den Mitarbeitername in Spalte A ein Tabellenblatt vorhanden
ist
For iSheet = 1 To Worksheets.Count
'Abfrage: Wenn der durch die Schleife angesprochene Name gleich dem Namen in
der angesprochenen Zeile in Spalte A Und gleichzeitig in Spalte C Januar steht,
dann...
If (LCase(Sheets(iSheet).Name) = LCase(Sheets("2011").Cells(iRow, 1) Then
'...die Zeile in das entsprechende Tabellenblatt kopieren
Sheets("2011").Rows(iRow).Copy _
Sheets(iSheet).Cells(Sheets(iSheet).Range("A65536").End(xlUp).Offset(1, 0).Row, 1)
'Abfrage Ende
End If
Next
Next
End Sub
Erläuterungen in kursiv
Fett = Was noch ergänzt werden muss
Schon mal vielen Dank für eure Hilfe!