Office: Zellinhalt suchen und Zeile mit Fund löschen

Helfe beim Thema Zellinhalt suchen und Zeile mit Fund löschen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, ich bin ganz frisch in der Materie und bastel grad an meinem ersten VBA Projekt. Nun könnte ich zu folgender Problemstellung Hilfe... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von akku, 23. April 2014.

  1. Zellinhalt suchen und Zeile mit Fund löschen


    Hallo Forum,

    ich bin ganz frisch in der Materie und bastel grad an meinem ersten VBA Projekt.
    Nun könnte ich zu folgender Problemstellung Hilfe gebrauchen:

    Ich habe umfangreiche Tabellen mit ca. 20 Spalten und zig Tausend Zeilen.

    Nun möchte ich in einer bestimmten Spalte, die in Zeile 1 einen eindeutigen Namen hat, aber immer an unterschiedlicher Position sein kann, nach einem bestimmten Wert suchen und die betreffenden Zeilen anschließend löschen.

    Bisher setze ich den Autofilter und lasse mir dadurch nur die Zeilen anzeigen, die in der bestimmten Spalte den gesuchten Wert enthalten. Dann markiere ich alles und lösche es.
    Nachdem ich das ganze regelmäßig immer wieder machen muss und dabei mehrere Inhalte in unterschiedlichen Spalten suchen muss, ist das eine aufwändige Klickerei, die ich gerne durch ein VBA-Script automatisieren möchte.

    Kann mir jemand auf die Sprünge helfen, wie ich das am Besten bewerkstellige mit VBA?

    Danke schon mal
    akku

    :)
     
  2. OfficeUser Neuer User
    Hi zu ladender, *Smilie
    das Ziel ist klar: In einem Tabellenblatt sollen alle Zeilen gelöscht werden, bei denen in bestimmten Spalten bestimmte Werte stehen.

    Der Ausgangspunkt ist nicht klar. Auf welche Weise soll die VBA-Prozedur erfahren, welche Werte in welchen Spalten gesucht werden sollen?

    Denkbar wäre, die Spalten und Werte in einer InputBox abzufragen.
    Denkbar wäre auch, dass diese Vorgaben in einer kleinen Tabelle stehen, etwa so:

     ABCD
    2Spalten:StatusJahrPLZ
    3Werte:Loe199809999
    4 Del 99999
    5   00000
    Die Prozedur kann diese Tabelle lesen und abarbeiten.
    Hier sollen insgesamt 6 Prüfungen in 3 Spalten stattfinden.

    Wenn mehrere Zeilen zu löschen sind, tut man das besser "in einem Rutsch", also nicht jede Zeile einzeln.
    Man sammelt die zu löschenden Zeilen aus allen Prüfspalten ein und löscht erst ganz am Schluss.

    Also: Wie soll das Ganze bei dir organisiert sein?
     
    OfficeUser, 25. April 2014
    #2
  3. Hallo Erich,

    ich möchte für das Zeilen löschen keine extra Abfrage mache. Es wird immer mit der gleichen "Denke" gelöscht und soll auf "Knopfdruck" funktionieren.
    Die jeweiligen Spalten können mit einem eindeutigen Namen aufgerufen werde. Dieser steht immer in Zeile A. Ich bin mir auch sicher, dass die Namen immer gleich bleiben, da ich diese ebenfalls mit einem Makro selbst definiere.

    Die zu suchenden Inhalte sind erstmal auch immer die gleichen und sollten direkt im Script stehen. Ich suche nach:
    Festen Werten
    oder "alle Inhalte kleiner 1000" (sprich: alles was dreistellig ist)
    Oder Datum ab einem bestimmten Tag. Das Datum definiere ich anhand einer in einer inputbox eingegebenen Kalenderwoche.

    Ich hoffe, ich habe nun den Ausgangspunkt genau genug erklären können...

    Gruß akku
     
  4. Zellinhalt suchen und Zeile mit Fund löschen

    Hi,
    in der folgenden Prozedur habe ich mal beispielhaft verschiedene Abfragen untergebracht.
    Ich hoffe, du kannst damit etwas anfangen: Code:
    Am Ende wird hier nicht gelöscht, sondern nur eingefärbt - ist zum Testen praktischer.
    Die BeiSpielMappe dazu lade ich hoch.

    Ein schönes Wochenende allerseits!
     
    Erich G., 26. April 2014
    #4
  5. Hallo Erich,
    vielen Dank für die tolle Unterstützung.
    Ich denke, es ist von Deiner Seite her eine Punktlandung. Genauso benötige ich es.
    Bevor ich das ganze in mein Makro baue und an meine Bedürfnisse anpasse, werde ich aber erst versuchen zu verstehen, was genau Du da programmiert hast. Ich möchte ja was lernen. Dazu nehme ich mir mal Zeile für Zeile vor und analysiere sie einzeln.
    Wird also noch etwas dauern, bis ich am Ziel bin. Aber es macht mir richtig Spaß, mich da etwas einzuarbeiten.
    Gruß
    Matthias
     
  6. Hallo Erich,

    könntest Du so nett sein, mir folgende Zeile zu erklären?
    Wenn möglich und wenn es dich nicht zu sehr nervt, bitte "haarklein"

    arU = .Cells(1, 1).Resize(, .Cells(1, .Columns.Count).End(xlToLeft).Column)

    Danke und Gruß
    Matthias
     
  7. Hi Matthias,
    vielleicht ist das haarklein genug? *wink.gif*

    arU ist eine Variable, die alles mögliche enthalten kann - sie wurde oben (bei Dim) typlos,
    also als Variant deklariert.
    vgl. VBA-Hilfe zu Dim

    Die 3 Punkte nach Leerzeichen beziehen sich auf das With.
    Statt " ." könnte man auch " Sheets("Tabelle1")." schreiben.
    vgl. VBA-Hilfe zu With

    .Columns.Count also Sheets("Tabelle1").Columns.Count ist die Spaltenanzahl des Blattes.
    Sie hängt von der XL-Version ab. Als die letzte Spalte noch IV hieß, war sie 256,
    derzeit haben wir bis XFD 16384 Spalten zur Verfügung.

    .Cells(1, .Columns.Count) ist die Zelle XFD1 des Tabellenblatts, die letzte Zelle in Zeile 1.

    .Cells(1, .Columns.Count).End(xlToLeft) ist die Zelle, bei der man landet, wenn man von XFD1 aus
    mit Strg + PfeilNachLinks nach links geht. Das ist die letzte Zelle der Zeile 1, in der etwas steht,
    z. B. Zelle K1.

    .Cells(1, .Columns.Count).End(xlToLeft).Column ist die Spaltennummer dieser Zelle,
    z. B. 11 für Zelle K1.

    .Cells(1, 1) ist die Zelle A1.
    .Cells(1, 1).Resize(x, y) ist der Bereich, der mit A1 beginnt und x Zeilen hoch und y Spalten breit ist.
    .Cells(1, 1).Resize(, 11) ist der Bereich A1:K1, in dem die Überschriften stehen.
    vgl. VBA-Hilfe zu Resize

    arU enthält die Werte des Bereichs A1:K1, also alle Überschriften.
    Einzelne Werte können angesprochen werden mit
    arU(1,3) für den Wert aus C1

    Alles klar?
     
    Erich G., 28. April 2014
    #7
Thema:

Zellinhalt suchen und Zeile mit Fund löschen

Die Seite wird geladen...
  1. Zellinhalt suchen und Zeile mit Fund löschen - Similar Threads - Zellinhalt Zeile Fund

  2. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  3. Arbeitsblätter ein- bzw ausblenden nach Zellinhalt geschützte Arbeitsmappe

    in Microsoft Excel Hilfe
    Arbeitsblätter ein- bzw ausblenden nach Zellinhalt geschützte Arbeitsmappe: Arbeitsblätter ein- bzw ausblenden nach Zellinhalt in einer geschützten Arbeitsmappe Hallo zusammen, dass habe ich bisher hinbekommen...wenn die Arbeitsmappe nicht geschützt ist dann geht es...
  4. Zellinhalt als Datei im Notepad speichern

    in Microsoft Excel Hilfe
    Zellinhalt als Datei im Notepad speichern: Hallo Experten da komme ich nicht mehr weiter...... nur der Zellinhalt von zB. Zelle H3 (bis zu 10000 Zeichen, weder harte noch weiche Zeilenumbrüche sind zugelassen - eine Text- oder CSV-Datei...
  5. Filtern nach Wert in Zellinhalt

    in Microsoft Excel Hilfe
    Filtern nach Wert in Zellinhalt: Hallo. In der angehängten Datei habe ich in "E2" ein Auswahlfeld. Abhängig von diesem Feld möchte ich, daß die Tabelle automatisch nach den Einträgen in den Zellen "F6" bis "F14" gefiltert wird....
  6. Zeilen löschen, wenn Zellinhalt nicht numerisch

    in Microsoft Excel Hilfe
    Zeilen löschen, wenn Zellinhalt nicht numerisch: Hallo, man kann die Fragestellung natürlich auch beliebig ändern (...löschen, wenn alphanumerisch oder leer), aber im Endeffekt sollen die Zeilen die in Spalte D nur Zahlen enthalten übrig...
  7. Unterstreichen von Zellinhalten, ganzen Zellen oder Zeilen auf einem Arbeitsblatt

    in Microsoft Excel Tutorials
    Unterstreichen von Zellinhalten, ganzen Zellen oder Zeilen auf einem Arbeitsblatt: Unterstreichen von Zellinhalten, ganzen Zellen oder Zeilen auf einem Arbeitsblatt Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010...
  8. Zellinhalt nach jedem leerzeichen in mehrere Zeilen verteilen

    in Microsoft Excel Hilfe
    Zellinhalt nach jedem leerzeichen in mehrere Zeilen verteilen: Hallo, ich habe eine Tabelle mit Gerätedaten. Alle Daten sind idiotischerweise immer nur in die erste Spalte geschrieben wurden. Die Daten sind immer in der gleichen Reihenfolge:...
  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