UsedRange
12.06.2018 09:44:51
Roy
Im Tabellenblatt("FILTERUNG"), werden mir über sverweise diverse Datensätze angezeigt. Dies passiert in einem dynamischen Bereich zwischen Zeile 1 und 400, je nachdem wie viele Datensätze ein Krietium erfüllen. Die Werte, die die Kriterien erfüllen sind dann sichtbar, alles andere per wenn-funktion ausgeblendet. Die entsprechenden Formeln stehen aber weiterhin in den Zellen ohne sichtbaren Inhalt.
Anschließend kopiere ich das Ergebnis mit folgendem Code in das Tabellenblatt("ERGEBNIS")
Sub gefilterte_Range_übertragen()
'Ab Zeile 1 alle gefilterten Zeilen bis Spalte "I" kopieren
Worksheets("FILTERUNG").Range("b1:I" & ActiveSheet.UsedRange.Rows.Count). _
SpecialCells(xlCellTypeVisible).Copy
'...und ab "A2" in Tabelle2 einfügen
Worksheets("ERGEBNIS").Range("A2").PasteSpecial Paste:=xlValues
End Sub
Auf dem Tabellenblatt("ERGEBNIS") ist dann der Bereich mit den gefilterten Werten (wie oben beschrieben) sichtbar und es wird dann folgender Code durchlaufenSub Mailvorbereitung()
Dim abc as Long
abc = Range("A1:A500"):SpecialCells(xlCellsTypeConstants).Count
Range(A1:H" & abc).Copy
' Code wird hier fortgesetzt ist aber nicht relevant
End Sub
und dieser Inhalt soll in einen E-Mail-Body gepackt werden.Das Problem ist, dass nicht der gefilterte Bereich in den Body gepackt wird, sondern alle 400 (größtenteils leere) Zeilen.
Mein verdacht ist, dass die UsedRange auch die Formeln in den (inhaltlich) leeren Zeilen erkennt und sich daher so verhält. Hat jemand eine Lösungsidee?
Vielen Dank