Hallo an alle,
ich möchte ein Makro programmieren, aber mir fehlt im Moment der Ansatz, wie ich das am besten mache. Ich habe Daten, die sagen wie oft eine Person in einem Jahr eine bestimmte Tätigkeit ausgeführt hat. Nun ist es leider so, dass für jedes Jahr eine extra Zeile vorhanden ist. In Spalte A steht jeweils der Name und in Spalte B das jeweilige Jahr, also folgendermaßen
Tim 2015
Tim 2016
Sophie 2015
Sophie 2016
Anne 2016
Wenn jemand erst ab 2016 mit dabei ist (in dem Beispiel Anne, dann ist das Jahr nur einmal aufgelistet. Nun ist das dumme an den Daten in Spalte steht ist dann Jan. 15; Spalte D: Feb.15; Spalte E: Mrz. 15 usw. und dann ab Spalte P: Jan. 16; Q: Feb. 16 usw.
In der Zeile 2 (Tim, 2015) ist dann ab Spalte P immer der Wert 0 eingetragen. Und in Zeile 3 (Tim, 2016) ist alles davor also in den Spalten D-O immer 0. Ich möchte nun gerne einfach für jede Person eine Zeile, sodass in Spalte B nicht mehr für ein Jahr unterschieden wird, sondern dort nichts (oder von mir aus auch eins der Jahre steht), aber dann in den Spalten jeweils die Anzahl für die Monat beider Jahre eingetragen ist. Ich möchte es alles möglichst flexibel, sodass ich auch mal nur von 2015 z.B. ab Juli (also dann 6 Spalten) weiter verarbeiten kann.
Das hier ist bisher mein Ansatz gewesen (erstmal nur für Spalte C).
Sub einzeilig()
Dim lr As Long
Dim ab As Long
ab = 3
lr = Cells(Rows.Count, "A").End(xlUp).Row
For c = ab To lr
If Cells(1, c).Value = Cells(1, c + 1).Value Then
If Cells(3, c).Value = 0 Then
Cells(3, c).Value = Cells(3, c + 1).Value
End If
End If
Next c
End Sub
Da die Daten maximal für 2 Jahre vorhanden sind würde ich das nun bis Cells (26, c) weiter schreiben. Da würde ich dann insgesamt also 24 mal if noch einbauen. Gibt es einen Weg das ganze einfacher zu lösen?
Nachdem die Schleife durchgelaufen ist, möchte ich die verbleibenden Duplikatzeilen löschen, also die c+1 quasi löschen. Dafür habe ich folgenden Befehl gefunden
ActiveSheet.RemoveDuplicates Columns:=1 Header:=xlYes
leider funktioniert das nicht. Hat jemand einen Tipp, wie ich verändern muss, damit die Duplikate gelöscht werden?
Danke schon im Voraus, schöne Grüße
Doreen
|