Filterergebnisse löschen in Excel 2016 funktioniert nicht. Excel 365 aber schon! ??
#1
Moin Leute,

wollte euch mal nach Erfahrungen mit folgendem Problem fragen:

Mein Filterergebnis kann ich mit folgender Formel in Excel 365, wo ich das Modul auch als erstes programmiert habe, problemlos löschen:

Range("a1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete


Dann wollte ich das Programm auf der Arbeit ausführen und habe es mir dorthin geschickt. Aber bei mir auf der Arbeit in Excel 2016 funktioniert der Code dann nicht richtig und er löscht auch die erste Zeile mitsamt den Überschriften weg!!
Ich habe den Code in dem entsprechenden Modul beider Excel-Versionen mehrfach verglichen. Es ist logischerweise 1:1 der gleiche.

Dann habe ich zum Überprüfen die auf der Arbeit in Excel 2016 gespeicherte Datei wieder bei mir zu Hause in Excel 365 geöffnet: hat auch da dann nicht mehr funktioniert.
Nur meine Original Excel365-Datei funktioniert nach wie vor problemlos trotz dem gleichen Code! 

Demnach denke ich, dass Excel 2016 ggf. einen Teil dieser Code-Zeile noch nicht beherrscht?!   Undecided

Gibt es sonst eine Code-Alternative für Excel 2016, mit der ich das selektierte Filterergebnis löschen kann und die Überschrift stehen bleibt ??
69

Danke und Gruß,
Micha
Antworten Top
#2
Den Grund für das eigentliche Problem habe ich zwar noch nicht gefunden aber immerhin eine Lösung, die mit Excel 2016 jedenfalls funktioniert:


Zitat:Sub Filterergebnis_löschen()
Dim i As Long, lastR As Long

    lastR = Cells(Rows.Count, 1).End(xlUp).Row
    For i = lastR To 2 Step -1
    If Rows(i).Hidden = False Then
    Rows(i).Delete
    End If
    Next i


End Sub
Antworten Top
#3
Hallöchen,

ich würde mal 2 Sachen probieren.

1) Nimm in 2016 eine neue 2016er Datei, füge da ein paar Daten ein, filtere und schaue, wie sich der Code dann verhält.
Manchmal hilft es, in der niedrigeren Version zu programmieren. Hat zwar in der Regel andere Ursachen, aber da gabs doch Pferde und Apotheken ...

2) Trenne mal das Löschen und den Bereich, im Prinzip
Set rngBereich = Range(...).Offset(...)
rngBereich.Special...delete
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • junjor
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste