Thema Datum  Von Nutzer Rating
Antwort
Rot Duplikate "zusammenfassen" und löschen
01.12.2016 11:17:57 Marie
NotSolved
01.12.2016 16:50:56 Mackie
NotSolved
01.12.2016 17:38:50 Gast43491
NotSolved

Ansicht des Beitrags:
Von:
Marie
Datum:
01.12.2016 11:17:57
Views:
1077
Rating: Antwort:
  Ja
Thema:
Duplikate "zusammenfassen" und löschen

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

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Duplikate "zusammenfassen" und löschen
01.12.2016 11:17:57 Marie
NotSolved
01.12.2016 16:50:56 Mackie
NotSolved
01.12.2016 17:38:50 Gast43491
NotSolved