Registriert seit: 12.12.2018
Version(en): 2016
Hallo zusammen, ich bräuchte bitte etwas Hilfe bei einem Excel-Problem. Ich würde gerne automatisch Zeilen löschen abhängig von dem Inhalt (soweit kein Problem), jedoch würde ich dafür gerne parallel etwa 20-30 Spalten untersuchen. Falls alle untersuchten Spalten den Wert "0" aufweisen sollen sie gelöscht werden und darüberhinaus würde ich es ebenso gerne mit einem Wert automatisieren (z.B. falls alle Werte <10 sind). Vielen Dank!
Registriert seit: 08.10.2017
Version(en): 2016
Registriert seit: 12.12.2018
Version(en): 2016
Hier ein kleiner Ausschnitt als Beispiel (Liste umfasst eigentlich etwa 10k Zeilen.
Angehängte Dateien
Beispiel.xlsx (Größe: 10,15 KB / Downloads: 8)
Registriert seit: 12.12.2018
Version(en): 2016
Würde es Alternativ auch über einen Spezialfilter funktionieren? Leider habe ich seit mehreren Jahren nicht mehr mit Excel gearbeitet und daher fällt es mir etwas schwer ...
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin!
Prinzipiell ist es sehr einfach:
Z1 : 0Z2:Z18 : =SUMME(B2:Y2)Z2:Z18 kopieren und als Wert einfügenDaten Duplikate entfernen, "Daten haben Überschriften" deaktivieren , anwenden auf Spalte Z, Spalte Z kann jetzt wieder gelöscht werden. Wenn das häufiger vorkommt, kann man sich auch ein kleines Makro schreiben, welches obige Schritte automatisiert.
Ich schrieb "prinzipiell", weil Deine Datei offensichtlich eine aus dem Zusammenhang gerissene Pivot-Tabelle ist.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
13.12.2018, 09:04
(Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2018, 09:04 von RPP63 .)
Ich hatte ein wenig Zeit …
Obiges unabhängig von der tatsächlichen Tabellengröße als Makro:
Modul Modul1 Option Explicit
Sub Weg_mit_der_Null()
Dim HS&, LZ& 'HS=Hilfsspalte, LZ=letzte genutzte Zeile
With Tabelle1
HS = .Cells(1 ).End(xlToRight).Column + 1
LZ = .Cells(.Rows.Count, 1 ).End(xlUp).Row
.Cells(1 , HS) = 0
With .Range(.Cells(2 , HS), .Cells(LZ, HS))
.FormulaR1C1 = "=SUM(RC2:RC[-1])"
.Copy: .PasteSpecial xlPasteValues
End With
.Range(.Cells(1 ), .Cells(LZ, HS)).RemoveDuplicates HS, xlNo
.Columns(HS).Delete
End With
End Sub Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 12.12.2018
Version(en): 2016
Danke dir :) funktioniert tadellos.