Office: Zeilen automatisch löschen nach Vergleich mit zweiter Datei

Helfe beim Thema Zeilen automatisch löschen nach Vergleich mit zweiter Datei in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Liebe Community, ich habe folgendes Problem. 1x im Monat wird eine Liste, hier als Beispiel "Dezember 2020", per Mail an verschiedene Nutzer... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Kroko7, 4. November 2020.

  1. Zeilen automatisch löschen nach Vergleich mit zweiter Datei


    Liebe Community,

    ich habe folgendes Problem.

    1x im Monat wird eine Liste, hier als Beispiel "Dezember 2020", per Mail an verschiedene Nutzer gesendet. In dieser Datei sollen für mich nur Zeilen bestehen bleiben, die für mich relevant sind.
    Ich kann dazu mit der Artikelnummer in einer zweiten Liste, die auf dem Server abgelegt ist, suchen. Alle Zeilen mit übereinstimmenden Artikelnummern, die in der Liste auf dem Server, hier als Beispiel "Neue Liste Stand Mai 2018", aufgeführt sind, sollen in der Datei erhalten bleiben, alle anderen Zeilen sollen gelöscht werden.

    Die Datei auf dem Server sollte im besten Fall auch nicht geöffnet werden müssen.

    Ich hoffe es ist soweit klar was gemeint ist. Bin für jede Hilfe dankbar.

    VG

    :)
     
  2. Hi kroko

    probier mal "=VERGLEICH" oder "=SVERWEIS" in Spalte C.

    Falls Makro möglich ist: Eine Suchschleife mit Zeilenlöschung bei Fund. Das Öffnen der Datei per Makro kann vermieden werden, wenn sie schon offen ist, also vor Makroaufruf händisch geöffnet wird.

    LGB
     
    barbara_w, 6. November 2020
    #2
  3. Hallo Barbara,

    die Tabellen sind normalerweise noch mit deutlich mehr Daten gefüllt und am liebsten würde ich ohne Hilfsspalte auskommen.

    Ich hab noch mal ein wenig gesucht und versucht ein Makro zu schreiben. Unten im Code erhalte ich dann allerdings einen Laufzeitfehler 13: Typen unverträglich an folgender Stelle:
    "If rng.Cells(i) GetValue(pfad, datei, blatt, bezug) Then"

    Private Function GetValue(pfad, datei, blatt, zelle)
    '** Daten aus geschlossener Arbeitsmappe auslesen
    'Variable deklarieren

    Dim arg As String

    'Sicherstellen, dass die Datei vorhanden ist

    If Right(pfad, 1) "" Then pfad = pfad & ""

    If Dir(pfad & datei) = "" Then

    GetValue = "Datei Not Found"

    Exit Function

    End If

    '** Das Argument erstellen

    arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("E3:E20000").Address(, , xlR1C1)

    '** Auslesen über Excel4Macro

    GetValue = ExecuteExcel4Macro(arg)

    End Function

    Sub Zeilen_löschen()

    Dim rng As Range
    Dim i As Integer, counter As Integer
    Dim pfad As String, datei As String, blatt As String, zelle As String

    '** Angaben zur auszulesenden Zelle

    pfad = "D:"

    datei = "Neue Liste Stand Mai 2018.xlsx"

    blatt = "2020"

    bezug = "E3:E20000"

    'Set the range to evaluate to rng.
    Set rng = Range("C1:C20000")

    'initialize i to 2
    i = 2

    'Loop for a count of 1 to the number of rows
    'in the range that you want to evaluate.
    For counter = 1 To rng.Rows.Count

    'Vergleichen der Werte in Zellbereich C der aktiven Tabelle mit Zellbereich B der Datei auf dem Server und Zeilen löschen, wenn
    'Werte nicht übereinstimmen

    If rng.Cells(i) GetValue(pfad, datei, blatt, bezug) Then

    rng.Rows.Delete

    Else

    i = i + 1

    End If


    Next

    End Sub
     
  4. Zeilen automatisch löschen nach Vergleich mit zweiter Datei

    Hi

    zur Fehlersuche sollte man alle Variablen überprüfen. Das geht aber von hier nicht, da ich Deine Umgebung nicht kenne.
    Vielleicht probier mal
    pfad = "D:"
    also mit Schrägstrich.

    Übrigens, was sagst Du zu meinem Lösungsvorschlag in meiner vorigen Antwort?

    LGB

    Und noch was: Ein Code in disem Forum sieht besser aus, wenn Du die Code-Tags verwendest, und die bekommst Du durch Anklicken des drittletzten Symbols in diesem Schreibfenster (neben PHP).
     
    barbara_w, 8. November 2020
    #4
  5. Hallo Barbara,

    danke noch mal für dein Feedback. Das mit Schrägstrich "/" war eigentlich im Code...weiß nicht wieso es raus ist. Werde das mal checken.
    Danke auch für den Hinweis für die Code Tags *wink.gif*

    Ich muss ehrlich sagen, dass ich nicht ganz verstehe wie mir die =VERGLEICH oder =SVERWEIS Formel in einer Hilfsspalte helfen?
    Vielleicht steh ich auf dem Schlauch?

    Da ich gern eine Vorlage basteln möchte, mit der andere Kollegen, ohne tiefere Excel Kenntnisse, auch arbeiten können, würde ich es eigentlich am liebsten rein über Excel VBA Marko lösen. Wie gesagt wäre es sehr elegant, die Tabelle in der gesucht wird, nicht extra vorher öffnen müssen.

    VG
     
  6. Hi Kroko

    für C2 in Datei "Dezember 2020" würde diese Formel
    =WENNFEHLER(VERGLEICH(B2;'[Neue Liste Stand Mai 2018.xlsx]2020'!$E$4:$E$90;0);"Nicht gefunden")
    passen. Tritt vom Schlauch weg, auf den Du stehst und probier die Formel mal aus. Es ist leicht nachvollziehbar.

    Die Formel kannst Du dann runter kopieren und liefert als Ergebnis: "Nicht gefunden" oder leere Zelle. Danach kannst Du dann filtern und unerwünschte Zeilen löschen.

    Der verkehrte Schrägstrich läßt sich hier nicht gerne darstellen, weil er vom Editor als Steuerzeichen oder was anderes interpretiert wird. Manchmal helfen zwei verkehrte Schrägstriche, um einen darstellen zu können. genau weiss ich das aber auch nicht.

    Für eine Makrolösung müsste ich mir Zeit nehmen. Damit bin ich etwas knapp, zumindest bis zum Wochenende.

    Zur Fehlersuche Deines Makros habe ich Dir ja bereits Hinweise geschrieben (vom verkehrten Schrägstrich abgesehen).

    LGB
     
    barbara_w, 9. November 2020
    #6
  7. Hallo Barbara,

    danke für deine Hilfe und Ideen. Mit einer extra Spalte, der WENNFEHLER Formel und einem einfachen Makro geht es jetzt erstmal. *Smilie

    VG
     
  8. Zeilen automatisch löschen nach Vergleich mit zweiter Datei

    jetzt muss ich doch noch mal nach Hilfe fragen. Irgendwie hängt sich Excel bei ausführen des Makros auf. Hat jemand eine Idee?

    Code:
     
  9. Hi,
    hier ist ein Rows zu viel:


    lz = Cells(Rows.Count, 10).End(xlUp).Row

    Außerdem sollte sicherheitshalber das Tabellenblatt angegeben werden, z.B. so:

    Code:
     
  10. Hi Regina,

    danke für die Info.

    Ich habe den Code übernommen. Er hängt sich immer noch auf...
    Ich habe allerdings das End With noch unter das Next t gepackt, da er sonst gemeckert hat.
    Das Tabellenblatt heißt auch "Tabelle1".

    Code:
     
  11. ...so, dann sag doch mal in welcher Zeile er sich "aufhängt" und mit welcher Fehlermeldung. Besser noch, lad mal eine Beispieldatei hoch. Mit der Position des End With hast Du natürlich recht.
     
  12. Hallo Regina,

    anbei die Dateien. Er hängt sich nicht im Code auf, daher kann ich dir nicht sagen welche Fehlermeldung es ist oder an welcher Stelle es passiert. Excel berechnet irgendetwas, scheinbar aber in einer Endlosschleife. Der Screenshot zeigt, was dann immer wieder kurz in der Excelmappe angezeigt wird. Ich kann diese dann nur noch über den Taskmanager schließen...

    VG
     
  13. Zeilen automatisch löschen nach Vergleich mit zweiter Datei

    Hi, bei mir läuft der Code durch, allerdings dauert es "ewig" und zwischendurch kommt schon mal die Meldung "keine Rückmeldung".

    Evtl. geht es schneller, wenn Du per VBA einen Filter auf "x" setzt und dann "in einem Rutsch" löschst.
     
  14. Hi Kroko

    probier doch mal folgendes Makro auf Deine gepostete Datei "Test Zeilen Löschen2.xlsm".

    Code:
    Wie lange braucht dieses Makro für einen Durchlauf? Es sollte etwas schneller gehen.

    LBG
     
    barbara_w, 14. November 2020
    #14
  15. Guten Morgen zusammen,

    es funktioniert nun mit dem Hinweis von Regina. Also Zeilen ausblenden, alles löschen und wieder einblenden.
    Danke für eure Hilfe!

    Dazu habe ich diesen Code benutzt:
    Code:
     
Thema:

Zeilen automatisch löschen nach Vergleich mit zweiter Datei

Die Seite wird geladen...
  1. Zeilen automatisch löschen nach Vergleich mit zweiter Datei - Similar Threads - Zeilen automatisch löschen

  2. Zeilen in Excel automatisch alle paar Zeilen einfügen

    in Microsoft Excel Hilfe
    Zeilen in Excel automatisch alle paar Zeilen einfügen: Hallo, ich bin über die Googlesuche hier gelandet und dachte ich hätte auch die Lösung für mein Problem schon gefunden. Doch der Beitrag war von 2006 und schon beim Eingeben in MS Office...
  3. Zeilen automatisch sperren mittels VBA (wenn Bedingung erfüllt)

    in Microsoft Excel Hilfe
    Zeilen automatisch sperren mittels VBA (wenn Bedingung erfüllt): Moin zusammen, folgendes Problem: Im Normalfall verzichte ich aus Gründen auf den Einsatz von VBA, aber dieses Mal komme ich nicht umher. Ich habe schon fleißig recherchiert und mich versucht,...
  4. Spesenzettel ohne leere Zeilen automatisch ausfüllen lassen

    in Microsoft Excel Hilfe
    Spesenzettel ohne leere Zeilen automatisch ausfüllen lassen: Guten Abend liebe Excel Helfer / innen Ich habe einen neuen Arbeitgeber. Der möchte eine Spesenabrechnung von mir bekommen. Ich habe für Euch mal meine bisherigen Eingaben als Datei angehängt...
  5. Zeile automatisch in Excel Tabellenformat einfügen, wenn letzte beschrieben

    in Microsoft Excel Hilfe
    Zeile automatisch in Excel Tabellenformat einfügen, wenn letzte beschrieben: Hallo ihr Lieben! Ich benötige bitte eure Hilfe: Ich habe in Excel eine Tabelle erstellt und diese auch als Tabelle formatiert. Jetzt würde ich gerne automatisch eine Zeile Zwischen der...
  6. Zeile Automatisch löschen

    in Microsoft Excel Hilfe
    Zeile Automatisch löschen: Hallo, ich möchte eine digitale Werkzeugausgabe erstellen. Mein Problem ist, das ich bei der automatischen Löschung von Zellen eine Fehlermeldung bekomme, wenn in Spalte 12 kein x steht. Die...
  7. Nummerierung automatisch anpassen bei löschen einer Zeile

    in Microsoft Excel Hilfe
    Nummerierung automatisch anpassen bei löschen einer Zeile: Servus zusammen *Smilie ich habe ein Tabellenblatt das in Spalte A eine Nummerierung hat und Spalte B Text z.b. 1.1 aaa 1.2 bbb 1.2.1 ccc 1.2.2 ddd 1.2.2.1 eee 1.3 fff Text/Gliederungspunkt...
  8. Jede zweite Zeile automatisch löschen???

    in Microsoft Excel Hilfe
    Jede zweite Zeile automatisch löschen???: Hallo an alle, ich habe noch ein weiteres Problem bei der Bearbeitung meiner Excel Datei. Ich habe eine sehr lange liste (ca. 8000 Zeilen) bei der jede zweite Zeile überflüssig ist. Kann man...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden