Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UsedRange

UsedRange
12.06.2018 09:44:51
Roy
Guten Morgen, ich habe folgendes Problem, bei dem ich partout nicht weiterkomme.
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 durchlaufen
Sub 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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UsedRange
12.06.2018 10:21:54
Daniel
Hi
ja, die Usedrange umfasst alle genutzen Zellen, dh auch Formeln mit dem Ergebnis "" oder auch Zellen, die nur eine bestimmte Formatierung enthalten.
das SpecialCells(xlCellTypeVisible) bringt nur dann was, wenn du Zeilen auch wirklich ausblendest, dh du brauchst noch einen Autofilter über alle genutzen Zellen, in welchem du die Leeren ausblendest.
oder du ermittelst die Anzahl der Zellen mit Wert.
um Formeln, die das Ergebnis "" haben nicht zu zählen, kann man ZählenWenn(B:B;"?*") verwenden um Texte zu zählen oder Anzahl(B:B) um die Zellen mit einer Zahl zu zählen.
in VBA dann Worksheetfunction.countIf(Range("B:B"), "?*") bzw Worksheetfunction.Count(Range("B:B"))
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige