Das ActiveSheet.UsedRange.SpecialCells(xlVisible) sind die Zeile die nach dem Filtern noch sichtbar sind. Die Funktin INtersect, prüft dann die Sichtbaren Zeilen der USedrange mit der Anzahl der Spalte. Ergbnis sind die noch angezeigten.
Ob das was mit dem Ende macht weiß ich nicht. Kommt drauf an, was du weiter machen willst. Wenn du nur die vorletzte Zeile ermittelst und auf die referenzierst, kommt unter Umständen ein anderes Ergebnis raus, da die letzte Zeile ja ignoriert wird. Beim Kopieren, würde bspw. die letzte Zeile fehlen.
Was meinst du geht mit Zeile 9 los. Fängt dort der Filter an?
Wobei mir grad auffällt, dass du mit ActiveSheet.UsedRange.Rows("1:" & ende).Select nicht wirklich den gefilterten Bereich adressieren kannst. Es wird dann der Eintrag von Zeile 1 bis Zeile Ende genommen und nicht die ersten 10 sichtbaren Zeilen genommen. Muss ich nochmal schauen. GGf. kannst du aber die gesamt Usedrange kopieren und dann mit den Endwerten, das eingefügte nochmal bearbeiten (löschen etc). Es blieben dann nur noch die geuschten Zeilen.
Muss nochmal schauen und melde mich wieder.
Gruß
|