Excel Programmierung
#1
Smile 
Hallo zusammen,

ich weiß nicht ob ich hier richtig bin, aber gibt es in unserer Gemeinde hier ein Excelfreak [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
, Arial, Tahoma, Calibri, Geneva, sans-serif]?[/font][/size][/color]

Ich bräuchte ein Makro, dass folgendes kann:

Auswertung mehrer Spalten und doppelte Einträge Filtern, dass man diese Löschen kann.

Das Projekt ist wie folgt zum Verständnis.

Wir haben eine Telefonanwendung die die Daten in eine xlsx Datei Exportiert, in dieser Liste müssen doppelte Einträge aktuell noch händisch gelöscht werden. Die Tabelle ist wie folgt aufgebaut

Datum Uhrzeit Dauer Kontakt
27. Dez 15:39 00:00 AMT 60029xxxxxx
27. Dez 15:39 01:05 AMT 60029xxxxxx *
27. Dez 15:23 00:00 Kirschner XXXX 11xxx *
27. Dez 15:23 00:00 Kirschner XXXX 11xxx *
27. Dez 15:16 00:00 AMT 231945xxxx

Jetzt möchte ich das Spalte Uhrzeit Dauer und Kontakt verglichen wird, und die Eintäge die doppelt sind gelöscht werden. Undzwar sollte die Spalte die keine Dauert drin hat gelöscht werden. Oder im Falle das 2 Zeilen mit Dauer 0 vorhanden sind sollte eine spalte gelöscht werden. Gerne auch die Code Schnipsel dann bau ich das selbst zusammen. Bisher bekomme ich das nur hin mit dem vergleich einer Zeile.

Ich hoffe man versteht was ich brauche und hoffe mir kann wer Helfen.

Viele Grüße

Bass
Top
#2
Hi Bass,

muss es unbedingt eine VBA-Lösung sein? Doppelte kannst du doch mit der Excelfunktion "Duplikate entfernen" im Menü "Daten" eliminieren.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • BassRider
Top
#3
Hallo,

in Deiner gezeigten Liste würde dann nur einmal

27. Dez 15:23 00:00 Kirschner XXXX 11xxx *

raus gelöscht werden, richtig?

Wenn nicht bitte andere Beispiele mit Beispielergebnis und Begründung warum.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • BassRider
Top
#4
Hallo zusammen,
vielen Dank für die sxhnelle Antwort!


@WillWissen, dass habe ich versucht, jedoch habe ich da nur die Abfrage einer Zeile gefunden.
Aber es ist zwingend, dass alle drei Bereiche vweglichen werden. 

@atilla, ja fast, dass eine mal Amt mit 0:00 muss au weg. Dies soll dann auf alle spalten angewand werden können in der Mappe. 



Ich hab jetzt erst angefangen mich mit Makro zu beschäftigen, aber da dass bisschen eilt, suche ich hier Rat, denn dies vereinfacht mir meine Arbeit ungemein!


Vielen Dank für eure Hilfe

Grüße

Bass
Top
#5
Hallo bass,

warum das andre Amt auch? Was bedeutet Sternchen hinten dran?
Wann ist ein Kontakt gleich? Hängt das von der Anzahl Zeichen ab?

Und muss das per VBA passieren. Abhängig davon, wann Kontakte gleich
sind ginge es sehr einfach über eine Excel eigene Funktion "Doppelte entfernen"

Wenn sie ab einer bestimmten Stelle gleich sind, ginge es mit einer Hilfsspalte.
Wenn man etwas programmieren wollte, dann würde man zuerst die oben aufgezeigten manuellen Möglichkeiten
programmiertechnisch umsetzen. Theoretisch könnte man das auch mit dem Makrorekorder aufzeichnen.

Es sein denn es gibt noch andere Spezifikationen, dann solltest Du aber bitte mehr Daten zeigen.
Am besten eine Beispieldatei, oder einen Tabellenausschnitt.
Gruß Atilla
Top
#6
Hi Atilla,


Zitat:Abhängig davon, wann Kontakte gleich sind ginge es sehr einfach über eine Excel eigene Funktion "Doppelte entfernen"

wie ich den Fragesteller verstanden habe, sind als Kriterien die Spalten A, B, C und E als doppelt anzusehen. Wenn dies zutrifft, muss in Spalte D auch die Zeile mit dem 00:00-Eintrag verschwinden.

Ich habe das Ganze mal mit Text in Spalten aufgedröselt (Trenner= Leerzeichen). Mit unveränderter Spaltenangabe entfernt XL einwandfrei den doppelten "Kirschner". Beim doppelten "Amt" (Spalten A, B, C und E) wird nicht die Zeile mit der Zeit 00:00 entfernt, sondern die mit der Zeitangabe 01:05.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#7
Zitat:aber da dass bisschen eilt, suche ich hier Rat, denn dies vereinfacht mir meine Arbeit ungemein!


Je eher du das lieferst, was wir brauchen, desto eher hast du eine vernünftige Lösung!
ICH brauche eine vernünftige Beschreibung dessen, was du erreichen willst. Und am besten auch noch eine Begründung, warum du das Datum nicht mit einbeziehst. 
Also, wie schon öfter angesprochen: Liefere eine *.xlsx mit deinen Daten und markiere von Hand in einer Spalte rechts, was gelöscht werden soll und warum. In Zweifelsfällen auch eine Anmerkung, warum diese zeile nicht gelöscht werden soll.

Ich komme nach deiner Beschreibung auf dieses Ergebnis:
Code:
Datum            Uhrzeit            Dauer            Kontakt     TelNr.
27.12.2017    15:39:00    00:00:00    AMT        60029xxxxxx
27.12.2017    15:39:00    01:05:00    AMT        60029xxxxxx *
27.12.2017    15:23:00    00:00:00    Kirschner   XXXX 11xxx *
27.12.2017    15:16:00    00:00:00    AMT        231945xxxx
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#8
(04.02.2017, 12:40)WillWissen schrieb: Hi Atilla,

 Beim doppelten "Amt" (Spalten A, B, C und E) wird nicht die Zeile mit der Zeit 00:00 entfernt, sondern die mit der Zeitangabe 01:05.

Hallo Günter,

ohne VBA wird es wohl auf eine Hilfsspaltenlösung hinauslaufen.
Gruß Atilla
Top
#9
Hallo zusammen,

also ich versuche es nochmal zu erklären, war vllt. bisschen doof dargestellt. 
Wir haben eine Telefonsoftware die die Auswertung in eine xlsx Datei ausgibt. Wir sind 4 Kollegen die in einer Ringschaltung enthalten sind, deswegen werden viele Anrufe mehrfach aufgeführt, jenachdem wie viel Kollegen in der Leitung zugeschalten sind. Wie in dem Beispiel die X sind einfach nur zum Datenschutz da diese Daten ja nicht in vollumfang veröffentlicht werden dürfen im Grundsatz ist das einfach die Nummer und der Vorname.

Die Spalte Kontakt enthält immer Name, Vorname Telefonnummer.

Hier das Beispiel:


Datum       Uhrzeit   Dauer   Kontakt
27. Dez      15:39    00:00   AMT 60029xxxxxx (muss gelöscht werden)
27. Dez      15:39    01:05   AMT 60029xxxxxx *  (muss bleiben)
27. Dez      15:23    00:00   Kirschner XXXX 11xxx * (ein Eintrag sollte bestehen bleiben egal welcher)
27. Dez      15:23    00:00   Kirschner XXXX 11xxx * (ein Eintrag sollte bestehen bleiben egal welcher)
27. Dez      15:16    00:00   AMT 231945xxxx (muss bleiben)



Hier sollte jetzt das Feld Uhrzeit,Dauer und Name verglichen werden und alle Einträge die mehrfach vorhanden sind gelöscht werden und immer einer bestehen bleiben. Wie im Fall Kirschner sollte der Eintrag mit Dauer 00:00 gelöscht werden und der andere bestehen bleiben.

Ich hoffe das ist jetzt verständlicher.

Liebe Grüße

Bass
Top
#10
Was ja genau meinem Ergebnis oben entspricht, wenn ich deine Beschreibung als Maßstab nehme.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste