Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
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

Frage an Daniel.... leidiges Thema Zeilen löschen

Frage an Daniel.... leidiges Thema Zeilen löschen
14.07.2017 08:46:12
STeve
Guten Morgen Daniel....
Habe deinen Beitrag zu Kathis Frage: Zeilen löschen wenn in Spalte B x steht
gesehen.
Meine Bitte/Frage:
Sheet wird kopiert - dann will ich es schnell komplett "leerputzen" -
a.) ws.UsedRange.Delete Shift:=xlUp...........'klappt
b.) ws.Cells.EntireRow.Delete.................'klappt
c.) Dim n As Long, i As Long..................'klappt
Dim rngZ As Range
With Worksheets(ws.Name)
n = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To n + 4
If rngZ Is Nothing Then
Set rngZ = .Rows(i)
Else
Set rngZ = Union(rngZ, .Rows(i))
End If
Next i
End With
If Not rngZ Is Nothing Then
rngZ.Rows.Delete
Set rngZ = Nothing
End If
....dauert alles ca. 5 Sekunden.... würde gerne noch deine Variante probieren ob schneller:
With ActiveSheet.Usedrange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(RC1=""x"",0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlno
.ClearContents
End With
End with
...........wie müsste dieser Code dann lauten?
Danke und mfg

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage an Daniel.... leidiges Thema Zeilen löschen
14.07.2017 09:06:22
Daniel
Naja, wenn du alle Zeilen löschen willst, dann musst du einfach in die Hilfszelle am Tabellenende einen Einheitlichen Wert schreiben.
Also nicht: .FormularR1C1 = "=...", Sondern .value = 0
Die erste Zeile wird Prinzip bedingt nicht gelöscht.
Gruß Daniel
Krieg es nicht auf die Reihe...........mfg
14.07.2017 10:08:40
STeve
Hallo Daniel.......danke für den Tipp
Krieg es aber nicht auf die Reihe!!!
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
?
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
End With
Bitte um Eintrag.
mfg
STeve
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 10:32:54
Werner
Hallo Steve,
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
End With
End With
ActiveSheet.Rows(1).Delete
Gruß Werner
Anzeige
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 10:38:48
STeve
Hallo Werner.....Danke für deine Hilfe.
aber bei....
.EntireRow.RemoveDuplicates .Column, xlNo
..geht er auf Fehler.
? Hast du noch eine Idee.
lg
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 10:43:56
Werner
Hallo Steve,
nein, weil ich deine Datei dazu nicht kenne. Bei mir läuft der Code nicht auf einen Fehler.
Was für ein Fehler denn?
Gruß Werner
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 11:01:03
STeve
Hallo Werner........Value=0 .........wird schon nicht gemacht.
Kann es mit verbundenen Zellen zu tun haben.
geht bei mir auf Fehler: Resume Next.
lg
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 11:15:41
Werner
Hallo Steve,
dann zeig doch mal den Code der den Fehler produziert. Am besten eine Beispieldatei, in der es nicht funktioniert, hier hochladen.
Gruß Werner
Anzeige
AW: Datei anbei......
14.07.2017 11:45:10
Werner
Hallo Steve,
wie Daniel schon geschrieben hat, den Zellverbund einfach aufheben, wird ja sowieso alles gelöscht.
Sub m()
With ActiveSheet.UsedRange
.UnMerge
With .Columns(.Columns.Count + 1)
.Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
End With
End With
ActiveSheet.Rows(1).Delete
End Sub
Im Übrigen würde ich sowieso auf verbundene Zellen verzichten, die machen meistens nur Probleme. Den gleichen Effekt erreichst du, wenn du mehrere nebeneinanderliegende Zellen (z.B. A1-C1) auswählst, dann formatieren - Ausrichtung und bei Horizontal dann "über Auswahl zentrieren" auswählst.
Gruß Werner
Anzeige
AW: Datei anbei......
14.07.2017 11:58:31
STeve
Super Werner...DANKE für deinen Einatz/Mühen.
Dein Code läuft super.
Bezüglich deiner Anregung keine verbunden Zellen zu verwenden - habe ich wieder was gelernt bzw. muss ich mich da schlau machen.
Auf alle Fälle....dir noch einen schönen Tag
mfg STeve
Gerne u. Danke für die Rückmeldung.
14.07.2017 12:21:10
Werner
Hallo Steve,
und wegen dem Kommentar von Robert, da lass dir mal keine grauen Haare wachsen. Der fällt hier sowieso meistens nur auf wegen sinnfreier Beiträge.
Gruß Werner
AW: Gerne u. Danke für die Rückmeldung.
14.07.2017 13:06:18
Daniel
Robert schreibt ja wenigstens dazu, wie sein Beitrag zu verstehen ist:
kwT = kein weiterer Tiefsinn
;-)
Gruß Daniel
Anzeige
jetzt wo du es sagst....;-D
14.07.2017 13:46:37
Werner
würde mich wundern,wenn Ihr das versteht ;-)
14.07.2017 19:37:53
robert
..ich bezweifle es...
Gruß
Ein solches Urteil steht dir nicht zu, Werner! :-|
15.07.2017 03:03:20
Luc:-?
Morrn, Luc :-?
AW:warum ?
15.07.2017 04:07:29
Daniel
AW: AW:Quizfrage
15.07.2017 09:31:23
Gerd
Wie heißt Childrens Garden auf Englisch?
..na - "Childrens Garden"... :-))
15.07.2017 11:14:26
robert
"Childrens Garden" gibt's so nicht, wäre ...
15.07.2017 12:26:43
Luc:-?
…allerhöchstens ein Garten (nur) für Kinder oder einer, der so heißt, Gerd,
und das wäre dann auch die deutsche Übersetzung. Was du aber meinst, wissen wir durchaus, kann aber so nicht „verquizt“ wdn, zumal das auch noch grammatikalisch falsch ist:
Sg child, Pl children
Sog sächsischer Genitiv: ~'s → child's bzw children's
Eine qualifizierte Quiz-Frage wäre dagg (wenn hier auch nicht passend), was hat child mit kilt zu tun, oder garden mit yard? ;-)
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 11:33:20
Daniel
ja, kann mit Verbundenen Zellen zu tun haben.
die Zellverbünde müsstest du vorher aufheben (sollte kein Problem sein, da du ja sowieso alles löschen willst)
Gruß Daniel
das war es......Danke an Werner und Daniel
14.07.2017 11:42:52
STeve
DANKE an Daniel und Werner..........das war es.
mit dem Code:
Sub m()
With ActiveSheet.UsedRange.Select
With Selection
.MergeCells = False
End With
End With
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
End With
End With
ActiveSheet.Rows(1).Delete
End Sub


klappt es ziemlich schnell und sauber.

wünsch euch beiden einen schönen Tag.
LG STEve
Anzeige
AW: Krieg es nicht auf die Reihe...........mfg
14.07.2017 11:40:08
Daniel
also bei mir geht deine Beispieldatei auf den Fehler:
"Für diese Aktion müssen alle verbundenen Zellen dieselbe Größe haben" und nicht auf "Resume Next"
und damit ist dann auch ganz klar, woran es liegt.
Gruß Daniel
Lasst STeve und sein Team arbeiten...kwT
14.07.2017 11:30:29
robert
Sorry Robert............
14.07.2017 11:47:36
STeve
Hallo Robert.
Tut mir leid dass ich so oft die Profis in diesem Forum belasten muss.
Probiere oft die halbe Nacht bei einigen Zeilen Code herum.....Google und Archiv bringen mich oft auch nicht weiter.
Bevor ich den Laptop aus dem Fenster werfe ersuche ich immer höflichst um Hilfe.
...und hier sind wirklich tolle Leute die sowas von nett und klasse drauf sind.
Hoffe kann irgendwann auch mal Hilfesuchenden helfen.
Dir noch einen schönen Tag
LG STeve
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige