Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Doppelte Zeilen löschen (Makro?)
#1
Hallo zusammen,

ich bin neu hier und möchte mich kurz vorstellen. Mein Name ist Stephan Schmid, ich arbeite bei einem Ingenieurbüro für Geotechnik. Wir erhalten von unserem chemischen Labor immer Excel-Tabellen mit den Ergebnissen. Da es zu den einzelnen Analyseparametern (z.B. das Schwermetall Zink) zwei oder mehr Analysemethoden gibt, ist immer nur eine Zelle ausgefüllt, die andere leer.

Beispiel:
Nickel nach DIN X: (Feld K ist leer)
Nickel nach DIN Y: (Feld K enthält Ergebnis 50 mg/kg)
Zink nach DIN X: (Feld K ist leer)
Zink nach DIN Y: (Feld K enthält Ergebnis 100 mg/kg)

Zeilen 1 und 3 mit den leeren Ergebnisfeldern sollen weg (verstecken oder löschen).

Kann ich Excel irgendwie mit einem Klick dazu bringen, mir die Zeilen zu löschen, in denen in der Spalte X kein Eintrag ist? Also in Programmiersprech: Wenn Feld in Spalte X leer, dann lösche die ganze Zeile.

Bisher markiere ich immer mit Strg gedrückt jede Zeile mit einem leeren Feld im Analysenergebnis händisch und lösche das manuell. Die halbe Minute, die das dauert, würde ich gerne wegoptimieren, da das sehr häufig wiederkehrt in meinem Arbeitsalltag.

Wäre dankbar, wenn jemand eine Lösung hätte!  Smile


Angehängte Dateien
.xlsx   EXCEL_BEWERT_RESULT.xlsx (Größe: 21,6 KB / Downloads: 7)
Antworten Top
#2
Hallo,

man könnte das mit einem Makro lösen, oder einfach die entsprechenden Zeilen per Autofilter ausblenden.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • Step_Merkl
Antworten Top
#3
Hallo

beim löschen ist zu beachten das bei For Next Rückwärts gelöscht werden muss!
Es ist eine alte Excel 2003 Datei, das Makro kannst du ins Original kopieren.

mfg Gast 123


Angehängte Dateien
.xls   EXCEL_BEWERT_RESULT.xls (Größe: 49 KB / Downloads: 3)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Step_Merkl
Antworten Top
#4
Oh wow, vielen Dank, Gast123, auch an Klaus-Dieter für den Hinweis auf den Autofilter (nicht ganz das, was ich brauche)!

Ich bin, was Makros anbelangt, leider ein völlig unbeschriebenes Blatt. Ist es möglich, diese Funktion derart in Excel zu integrieren (also in die Benutzeroberfläche an sich), dass es zu einem Bestandteil von Excel selbst und nicht der Datei wird? Jedesmal das Makro zu kopieren stelle ich mir ähnlich aufwändig vor, wie die ganzen Zeilen händisch zu löschen. Geht das?

(Ich denke man kann alternativ auch mit Strg+A, Strg-C die Daten kurz rüberkopieren in deine Datei mit dem Makro drin...)

Wäre es zu viel verlangt, wenn du mir das Makro so anpasst, dass die zweite blaue Zeile mit dem Wort "Eluat" erhalten bleibt?

Danke!
Antworten Top
#5
Hi,

löse die beiden blauen Verbundzellen auf.
Schreibe in L7 ein x
in L8: =WENN(UND(K8="";D8<>"");"x";ZEILE())
runter ziehen bis L64
iregndeine Zelle der Tabelle (A7:L64) auswählen.
Daten --> Datentools --> "Duplikate entfernen"
"Markierung aufheben"
Haken bei "Spalte L" setzen
"OK"
Spalte L löschen
Freuen. 87

Das Ganze kann man auch mit dem Makrorekorder aufzeichnen und dann immer wieder abspielen.

EDIT:
Aber was gefällt dir am Autofilter nicht?
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Step_Merkl
Antworten Top
#6
Hallo Helmut,

deine Anleitung löst das Problem zwar, aber mit annähernd gleich vielen Klicks wie die manuelle Lösung. Das mit dem Makrorekorder werde ich noch ausprobieren.

Ok, ich habe mir das mit dem Autofilter nochmal angesehen, das geht ja wirklich hoppiflotti! Einfach einen unauffälligen "." in die beiden Felder mit den blauen Zeilen, dann Autofilter "Leere" ausschalten und fertig. Das löst mein Problem, vielen Dank!
Antworten Top
#7
Hallo

freut mich das der Code läuft.  Aufofilter ist vielleicht die bessere Lösung, da muss man keine Makros kopieren.
Der Vollständigkeit halber habe ich den Code so geändert, das die Zeile "Eluat" nicht gelöscht wird!

mfg Gast 123

Code:
Sub Leerzeilen_löschen()
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    Application.ScreenUpdating = False
    'Rückwärts Schleife zum löschen!
    For j = lz1 To 9 Step -1
        If Cells(j, "A") = "Eluat" Then
        ElseIf Cells(j, "K") = Empty Then
           Rows(j).Delete shift:=xlUp
        End If
    Next j
End Sub
Antworten Top


Gehe zu:


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