Ich versuche, leere Zeilen zu löschen, indem ich den folgenden Code verwende:
%Vor% Der obige Code funktioniert gut, gibt aber run time error '1004': No Cells were found.
Die Fehlerbehandlung hilft, wenn keine leeren Zellen vorhanden sind. SpecialCells(xlCellTypeBlanks)
gibt immer einen Fehler zurück, wenn keine Zellen wie diese vorhanden sind, daher ist die Fehlerbehandlung die einzige Möglichkeit (die ich kenne), damit umzugehen, wenn Sie SpecialCells(xlCellTypeBlanks)
verwenden möchten.
Sie müssen prüfen, ob Leerzeichen vorhanden sind.
%Vor%Sie können On Error Resume Next nur verwenden, um die Zeile zu überspringen, wenn keine Leerzeichen vorhanden sind, aber es ist im Allgemeinen besser, eine bestimmte Bedingung zu testen, als anzunehmen, dass Sie wissen, was der Fehler sein wird.
Soweit ich sehen kann, erhalten Sie nur die Meldung "Keine Zellen gefunden", wenn jede Zelle in Spalte A einen Wert hat.
BEARBEITEN: Basierend auf den Kommentaren von @ Brettdj gibt es hier eine Alternative, die CountBlank verwendet:
%Vor%Natürlich ist UsedRange notorisch unbeständig und möglicherweise größer als es scheint. Ich denke, es ist am besten, zuerst den tatsächlichen Bereich zu ermitteln, in dem die Zeilen gelöscht werden sollen, und dann die Spezialzellen in diesem Bereich zu überprüfen, z. B .:
%Vor%Eine letzte Anmerkung - Ich habe die Variable von "Arbeitsblatt" in "ws" geändert, da "Arbeitsblatt" ein Excel-reserviertes Wort ist.