Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen löschen nach Muster

Zeilen löschen nach Muster
11.09.2022 18:30:41
Franziska
Hallo,
habe ein Problem mit einer Tabelle für Wetterwerte.
Da die Station die Werte in einer Tabelle alle 10 Minuten speichert, wird nun eine ellenlange Liste erstellt, die nicht einmal mehr per Filter zu nutzen ist (Begrenzung bei 10000 Zeilen).
Nun möchte ich eigentlich in der Spalte A die Zeilen gelöscht haben, die keine volle Stunde sind, also alles was mit "00:10, 00:20, 00:30, 00:40 und 00:50" endet, soll Zeilenweise gelöscht werden.
Die Spalte absuchen und den Suchbegriff " *.10" usw. hilft nichts, es geht nicht oder gibt es eine Lösung.
Anbei die Musterdatei nur für die ersten Monate, da mehr hier nicht hochgeladen wird. Die Struktur bleibt bis zum 31. d. Jahres gleich.
https://www.herber.de/bbs/user/155109.xlsm
Gruß Franziska

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen nach Muster
11.09.2022 18:47:41
Daniel
Hi
Hilfsspalte einfügen mit der Formel:

=wenn(minute(A3)=0;Zeile();0)
Formel bis ans Datenende einfügen.
In die Überschriftenzeile der Hilfsspalte die 0 schreiben.
Auf die gesamte Tabelle incl Überschrift und Hilfsspalte die Menüfunktion
Daten - Datentools - Duplikate entfernen anwenden, mit der Hilfsspalte als Kriterium und der Option "keine Überschrift".
Hilfsspalte wieder löschen.
Gruß Daniel
AW: z.B. folgende zwei Möglichkeiten ...
11.09.2022 19:02:31
neopa
Hallo Franziska,
... kommen ganz ohne VBA aus.
Die eine wäre eine PQ (Power Query) Lösung., die je nach Betrachtungsweise den Vorteil oder Nachteil hat, dass das Ergebnis immer in eine neue Tabelle geschrieben hat und die Quelldaten vorhanden bleiben.
Der M-Code dieser Lösung könnte z.B. so aussehen:

let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Datum (Europe/Berlin)", type text}, {"Tempin (°C)", type number}, {"Temp (°C)", type number}, {"Chill (°C)", type number}, {"Dewin (°C)", type any}, {"Dew (°C)", type number}, {"Heatin (°C)", type any}, {"Heat (°C)", type any}, {"Humin (%)", Int64.Type}, {"Hum (%)", Int64.Type}, {"Wspdhi (m/s)", type number}, {"Wspdavg (m/s)", type number}, {"Wdiravg (°)", Int64.Type}, {"Bar (hPa)", type number}, {"Rain (mm)", Int64.Type}, {"Et (mm)", type any}, {"Rainrate (mm/h)", Int64.Type}, {"Solarrad (W/m²)", type any}, {"Uvi ()", type any}}),
#"Duplizierte Spalte" = Table.DuplicateColumn(#"Geänderter Typ", "Datum (Europe/Berlin)", "Datum (Europe/Berlin) - Kopie"),
#"Spalte nach Position teilen" = Table.SplitColumn(#"Duplizierte Spalte", "Datum (Europe/Berlin) - Kopie", Splitter.SplitTextByPositions({0, 14}, false), {"Datum (Europe/Berlin) - Kopie.1", "Datum (Europe/Berlin) - Kopie.2"}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Spalte nach Position teilen", each [#"Datum (Europe/Berlin) - Kopie.2"] = "00:00"),
#"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen",{"Datum (Europe/Berlin) - Kopie.2", "Datum (Europe/Berlin) - Kopie.1"}),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Entfernte Spalten",{{"Datum (Europe/Berlin)", type datetime}})
in
#"Geänderter Typ1"
Eine andere Möglichkeit wäre mit folgender Hilfsspalten-Formel: =TEXT(A3;"mm") ermittelst Du für jeden Datensatz die Minutenangabe der Messung als Textwert. Dann filterst Du in dieser alle Nicht-"00"-Werte aus oder als Variante dazu filterst alle diese und löschst die so gefilterten Zeilen einfach.
Gruß Werner
.. , - ...
Anzeige
AW: Zeilen löschen nach Muster
11.09.2022 19:10:09
GerdL
Hallo Franziska!

Sub Unit()
Dim Zeile As Long
For Zeile = Columns(1).Cells(Rows.Count).End(xlUp).Row To 3 Step -1
If Minute(Cells(Zeile, 1)) > 0 Then Rows(Zeile).Delete
Next
End Sub
Gruß Gerd
AW: Zeilen löschen nach Muster
11.09.2022 20:36:28
Daniel
Da ist man aber von Hand schneller als dieses Makro.
AW: Zeilen löschen nach Muster
12.09.2022 07:03:35
Franziska
Hallo,
das Makro von GerdL hat schon geholfen, aber für eine weitere Sortierung und evtl. Diagramm sind doch noch händische Schritte nötig. Da muss ich nun doch durch.
@Daniel
Dein Hinweis mit "von Hand schneller als das Makro" geht nicht, denn Excel bleibt bei 10000 Zeilen stehen und meldet dies auch. Da es bis Ende August bereits 31959 Zeilen sind, kann ich mir das nicht vorstellen. Auch die Vrsion mit der Datei "155110.xlsb" geht das nicht, da kommt die Fehlerwarnung von Excel, dass Sicherheitsrisiko dieser Datei ist groß und wird beendet, trotzdem Danke, auch wenn es nicht funktioniert.
ich werde nun mit dem Makro zumindest die vollen Stunden haben und dann werde ich die entsprechenden Zeilen mit der Hand löschen, die in Frage kommen.
Gruß Franziska
Anzeige
AW: Zeilen löschen nach Muster
12.09.2022 07:54:21
Daniel
Hast du mal die von mir beschriebe Methode ausprobiert?
Gruß Daniel
AW: Zeilen löschen nach Muster
12.09.2022 10:31:17
Franziska
Hallo Daniel,
welche Methode meinst Du?
Die mit der Formel in der Hilfsspalte =wenn(minute(A3)=0;Zeile();0), das habe ich auch probiert und hat den gleichen Effekt wie das Makro von GerdL;
oder meinst Du das mit "Da ist man aber von Hand schneller als dieses Makro"? Ich weiß nicht, was damit gemeint ist, mit "Da ist man aber von Hand schneller als dieses Makro".
Beider Versionen sorgen dafür, dass die Liste auf das "Stunden-Niveau" gekürzt wird. Das passt ja.
Es ist nur so, wenn ich nun aus dieser Tabelle ein bestimmtes Diagramm haben möchte, z.B. die Regenmenge, dann habe ich an einem Tag mehrere Werte zwar zu unterschiedlichen Stunden, aber so ist das in Realität nicht. Hier ist es nur ein Wert und so muss ich nun diese Spalte händisch mit den sog. doppelten Werten die Zeilen zusätzlich löschen. Dafür gibt es keine Lösung.
Gruß Franziska
Anzeige
AW: Zeilen löschen nach Muster
12.09.2022 10:37:00
Daniel
Wenn du eine sehr große Tabelle hast in der auch viele Zeilen gelöscht werden sollen, dann kann es durchaus sein, dass das Makro von Gerd für die Ausführung länger dauert, als das Einfügen der Formel und das Anwenden von Duplikate-Entfernen von Hand ausgeführt.
Ist im Prinzip ja nur das Tippen der Formel, Doppelklick auf die Rechte untere Ecke der Zelle und dann die 5 Klicks für das Duplikate-Entfernen.
du kannst dir dann leicht ausrechnen, wie lange es dauern würde, diese Aktionen per Makro ausführen zu lassen, wenn die Zeit wegfällt, die der Anwender mit dem Verschieben der Maus "verschwendet".
und du wolltest nur die Zeilen löschen, die nicht die volle Stunde darstellen. mehr hattest du nicht gefragt.
Gruß Daniel
Anzeige
AW: Zeilen löschen nach Muster
12.09.2022 10:41:47
Franziska
Hallo Daniel,
danke für Deine Erklärung.
Ja, mehr hatte ich nicht angefragt, da ich nicht wusste was daraus als neue Liste kommt und wie und was ich dann machen möchte.
Kein Thema, ich mache da eine neue Anfrage und dann hat sich das mit dem "Da ist man aber von Hand schneller als dieses Makro" und dem Makro.
Danke
Gruß Franziska

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige