Registriert seit: 09.07.2020
Version(en): Office 365
09.12.2020, 12:54
Hallo zusammen,
ich habe eine Makro das mir alle Leerzeilen in einer Spalte sucht und die Komplette Zeile löscht.
Nun kommt es jedoch immer häufiger vor das in diesem Bereich keine leeren Spalten gefunden werden können.
Deshalb erscheint auch eine Fehlermeldung: Laufzeitfehler 1004 / Keine Zellen gefunden.
Nun möchte ich falls keine leeren Zellen in diesem Bereich gefunden werden das er diesen Punkt eben auslässt und das Makro fortsetzt.
Ausschnitt des Makros das die leeren Zellen löscht:
Code:
Dim rng As Range
On Error Resume Next
Set rng = Sheets("Retourenliste").Range("A11:A710").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rng Is Nothing Then rng.EntireRow.Delete
Set rng = Nothing
Das Makro würde dann mit dieser nächsten Zeile weiter gehen:
ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort.SortFields.Clear
Wäre wirklich Super wenn mir jemand hierbei helfen könnte.
Viele Grüße.
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
zeige bitte das vollständige Makro.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
(09.12.2020, 12:54)Pascala schrieb: Nun kommt es jedoch immer häufiger vor das in diesem Bereich keine leeren Spalten gefunden werden können.
Deshalb erscheint auch eine Fehlermeldung: Laufzeitfehler 1004 / Keine Zellen gefunden.
Moin!
Jedenfalls nicht aufgrund des geposteten Codes!
Schließlich schaltest Du die Fehlerbehandlung bewusst aus und rechtzeitig wieder an.
Folglich gehe ich davon aus, dass der Code nicht von Dir stammt.
Siehe die Anmerkung von Klaus-Dieter:
Vollständiger Code, meinethalben auch als komplette Beispieldatei.
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: 09.07.2020
Version(en): Office 365
Ja richtig der Code ist nicht von mir!
Deshalb verstehe ich ihn auch nicht so ganz.
Hier der vollständige Code:
Code:
ActiveSheet.Unprotect
Dim rng As Range
On Error Resume Next
Set rng = Sheets("Retourenliste").Range("A11:A710").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rng Is Nothing Then rng.EntireRow.Delete
Set rng = Nothing
ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort.SortFields.Add Key _
:=Range("B10:B710"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("E11").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B2").Select
ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort.SortFields.Add Key _
:=Range("A10:A710"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Retourenliste").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("Auswertung").Select
ActiveWorkbook.RefreshAll
Workbooks("adi_Retouren").Activate
ActiveWorkbook.Close
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
@all,
man nehme eine neue Datei, füge dort den Code ein, kommentiere die On Error's aus, ändert im Code auf Tabelle1 oder benennt das Blatt um, und wundert sich ...
Dann trägt man irgendwo im Bereich was ein, löscht das wieder, führt das Makro nochmal aus, und siehe da ...
@TE,
die On Error's sind korrekt. Geht es denn nicht weiter? Sollte es jedenfalls.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 09.07.2020
Version(en): Office 365
Hallo schauan,
also wenn dieser Bereich voll ist und keine Leeren Zellen enthält kommt eben die oben genannte Fehlermeldung.
Bei klicken auf Debbug wird folgende Zeile Gelb markiert: Set rng = Sheets("Retourenliste").Range("A11:A710").SpecialCells(xlCellTypeBlanks)
Danke & viele Grüße
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
mit Deinem On Error ... sollte, wie auch schon von Ralf gesagt, kein Fehler kommen ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 09.07.2020
Version(en): Office 365
Guten Morgen zusammen,
ich habe den Fehler gefunden.
Ich hatte unter Alt+F11 > Extras > Optionen > Unterbrechen bei Fehlern den Punkt: "Bei jedem Fehler" markiert.
Nach dem setzen des Punktes "in Klassenmodul" funktioniert es wieder.
Trotzdem Danke für eure Hilfe!