Collapse column

Autor Thema: Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)  (Gelesen 825 mal)

Offline Victoriouses

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2016
Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« am: Mai 17, 2018, 19:13:04 Nachmittag »
Hallo zusammen,

ich habe ein großes Problem und zwar hab ich mehrere Exceldateien mit jeweils mehreren Tabellenblättern mit je ca. 10000 Zeilen.
In den Spalten A und B steht in jeder Zeile was, in den Zellen C - J nur teilweise was.
Ich würde jetzt gerne alle Zeilen löschen, wo nichts in den Spalten C - J steht.
Da es wie erwähnt einige Tabellenblätter sind, hoffe ich auf eine schnellere Lösung als jede Spalte separat nach leeren Zellen zu Filtern und dann alle übrig geblieben Zeilen zu löschen.

Um es besser verständlich zu machen: Im angehängten Beispiel würde ich gerne alle Zeilen mit einem roten Punkt löschen.

Hat dafür vielleicht jemand was per VBA parat? Ich habe davon nämlich leider überhaupt keine Ahnung...

Bin für jede Hilfe dankbar!
Grüße

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #1 am: Mai 17, 2018, 19:38:12 Nachmittag »
Moin,
wenn du von VBA keine Ahnung hast, warum nutzt du dann nicht die Möglichkeiten, welche dir 2016 bietet?
Das geht sehr gut über Daten | Abrufen und transformieren! (-> Power Query)

Ansonsten wundere ich mich immer wieder, dass dass für den kommerziellen Einsatz (also um Profit zu erwirtschaften) um kostenlose Hilfe gebeten wird ... Es gibt gewiss einige Dienstleister, die gegen geringes Geld eine maßgeschneiderte Lösung anbieten.
Gruß
Günther

Offline Victoriouses

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #2 am: Mai 17, 2018, 19:45:06 Nachmittag »
Hallo Günther,

erstmal vielen Dank für die Anwort. Da ich keine Ahnung davon habe, habe ich ja um Hilfe damit gebeten. Ich werde gleich sofort mal schauen, was ich mit deinen Tipps anfangen kann.

Nur um das klarzustellen: Das hat (leider) nichts mit kommerziellem Einsatz zutun, sondern ist ein Projekt für die Uni.
Falls es dich interessiert: Es sind verschiedene Beschleunigungswerte und Winkel eines Fahrzeugs, allerdings gibt es seltsamerweise nicht zu jedem Zeitwert auch einen entsprechenden Winkel bzw. eine Beschleunigung, daher würde ich wie gesagt gerne die Zeitwerte ohne diese herauslöschen.

Viele Grüße

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #3 am: Mai 17, 2018, 19:50:16 Nachmittag »
OK, Uni ...
Das ist dann wirklich etwas anderes.
Ich würde dir ja einen heißen Tipp geben, aber mein Excel kann keine Bildchen interpretieren und mein Photoshop kann nicht rechnen  :o
Also, stelle mal eine kleine *.xlsx mit echter Struktur ein und ich zeige dir einen gangbaren Weg auf.
Gruß
Günther

Offline Victoriouses

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #4 am: Mai 17, 2018, 20:04:35 Nachmittag »
Die erste Datei (Aktueller_Stand) zeigt eins der Tabellenblätter so wie wir sie bekommen haben, allerdings musste ich es etwas kürzen, da es sonst zu groß zum hochladen gewesen wäre, aber das sollte dem generellen Weg ja nichts abtun.

Bei der zweiten habe ich schon über die bereits erwähnte Funktion mit dem Filtern nach leeren Zellen die leeren Zeilen gelöscht, allerdings würde ich da ewig dran sitzen bei so vielen Tabellenblättern.

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #5 am: Mai 17, 2018, 20:52:16 Nachmittag »
So, ich habe dir mal meinen Weg skizziert:
  • Mit Strg-T oder Strg-L zu einer Tabelle machen
  • Daten - Aus Tabelle
    • 3. Spalte (AXB - Accel in X, body) bis letzte Spalte (In_VXH - Inertial velocity horizontal X) markieren
    • Menü Spalte hinzufügen - Spalten zusammenführen - Trennzeichen: kein
      • (neue) Spalte Zusammengeführt -> Filtern und Häkchen bei (leer) entfernen
      • Spalte Zusammengeführt löschen
        • Schließen & laden

        ABER: Ich komme auf eine andere Anzahl in meinem Ergebnis (weniger). Schau mal selber. Btw: *.xlsb wegen der geringeren Größe, ohne VBA.
        Der Weg ist recht schnell und aus meiner Sicht recht gut beschreitbar. Und vielleicht kannst du ja auch hiermit etwas anfangen ...

        Ich werde vielleicht heute Nacht noch einmal meine VBA-Maschine anschmeißen, mal sehen ...
        Ich gehe davon aus, dass die Blätter alle in 1 Mappe sind und einen identischen Aufbau haben, richtig?

        Anmerkung: Aus der Sicht des Excel ist die 2. Zeile einfach nur "unsauber", sie passt nicht zu den Daten (akademisch gesehen).
Gruß
Günther

Offline Victoriouses

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2016
Antw: Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #6 am: Mai 17, 2018, 21:22:25 Nachmittag »
Menü Spalte hinzufügen - Spalten zusammenführen - Trennzeichen: kein

Die Tabelle bekomme ich soweit ohne Probleme erstellt, allerdings kann ich keine Spalte einfügen, das ist grau hinterlegt.

Ah, das mit dem *.xlsb wusste ich noch nicht, danke für den Tipp.
Power-Query kenne ich auch noch nicht, aber vielleicht verhilft mir das ja auch zum Ziel.

Mit deiner Annahme liegst du quasi richtig, ja. Ich habe zwar mehrere Mappen, aber die Vorhergehensweise ändert sich dadurch ja nicht.

Die zweite Zeile kann ich auch durchaus löschen, die Einheiten kenne ich, daher hat sie keine große Relevanz für mich.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #7 am: Mai 17, 2018, 21:39:49 Nachmittag »
"Spalte einfügen" geht auch nicht ... siehe Screenshot

Diesen Code in das Modul "DieseArbeitemappe", dann komme ich auch auf die gleiche Zahl von Zeilen wie mit Power Query:
Option Explicit

Sub C_bis_J_leer_loeschen()
   Dim lrow As Long, concat As Variant, wks As Worksheet
   Dim Ze As Long, Sp As Long
   
   On Error GoTo ErrorHandler
   With Application
      .ScreenUpdating = False
      .Calculation = xlCalculationManual
   End With
   For Each wks In ThisWorkbook.Sheets
      lrow = wks.Cells(Rows.Count, 1).End(xlUp).Row
      For Ze = lrow To 3 Step -1
         concat = ""
         For Sp = 3 To 10
            concat = concat & Trim(Cells(Ze, Sp))
         Next Sp
         If Len(concat) = 0 Then Rows(Ze).EntireRow.Delete
      Next Ze
   Next wks
ErrorHandler:
   With Application
      .ScreenUpdating = True
      .Calculation = xlCalculationAutomatic
   End With
End Sub

Es geht zwar schneller, aber eine Kaffeepause tut auch ab und zu einmal gut ...
Gruß
Günther

Offline Victoriouses

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2016
Antw:Office 2016 Zeilen Löschen (wenn in den Spalten C - J nichts steht)
« Antwort #8 am: Mai 18, 2018, 01:28:24 Vormittag »
Ich danke Dir, du hast mir eine Menge Arbeit erspart!

Dein Code hat aus irgendeinem Grund nicht funktioniert, Excel fing an zu arbeiten aber hörte nicht mehr auf.
Habe es dann über deine "To-Do-Anweisungen" gemacht.

Einen schönen Tag und vielleicht hilft es ja noch jemandem, auch wenn es sehr speziell war.

Grüße und Gute Nacht

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.