Anzeige
Archiv - Navigation
1264to1268
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.rows.count erhöht sich bei dickem Rahme

.usedrange.rows.count erhöht sich bei dickem Rahme
R.Przybilla
Hallo Excel-Kenner,
ich arbeite gern mit .usedrange.rows.count
nun kommt es vor, dass mitten im Makro das .usedrange um 1 erhöht wird, wenn ich am usedrange unten ein dicken Rahmen mache.
Ich suche weniger eine Lösung, sondern vielmehr den Grund dafür.
Hat jemand eine Ahnung?
Ich kann ja auch .SpecialCells(xlCellTypeLastCell) verwenden, obwohl ich das ungern täte.
Wie verhält sich dieses im Gegensatz zu usedrange? Muss bspw. das sheet dafür aktiv sein oder eine Zelle in dem gefragten Bereich selektiert sein? Das wäre unschön, arbeite nicht gern mit .select und .activate.
Ralf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: .usedrange.rows.count erhöht sich bei dickem Rahme
21.05.2012 12:55:03
Rudi
Hallo,
wenn ich am usedrange unten ein dicken Rahmen mache.Damit erhält die darunter liegende Zelle oben einen Rahmen und ist somit benutzt.
Schau dir alternativ mal CurrentRegion an.
Gruß
Rudi
AW: .usedrange.rows.count erhöht sich bei dickem Rahme
22.05.2012 02:35:33
Daniel
Hi
wenn du den Grund suchst:
Excel zählt zur Usedrange nicht nur Zellen mit Inhalt, sondern auch Zellen mit sichtbaren Formaten, (sofern diese Formatierung nicht für die ganze Zeile/Spalte einheitlich gemacht wurde), dazu zählen Hintergrundfarbe und auch Rahmenlinien.
Wenn die Rahmenlinie nicht als Randlinie sondern als Linie zwischen zwei Zellen erstellt wurde, dann haben beide Zellen dieses Zellformat und zählen somit zur UsedRange!
wenn du die letze mit Inhalt gefüllte Zeile suchst, so hat sich die .FIND-Funktion bewährt ( mit den Einstellungen What:="*", Searchdirection:=xlPrevious, Searchorder:=xlByRows/xlByColumns, je nachdem, ob du die letzte Zeile oder die letzte Spalte suchst)
die CurrentRegion hat das Problem, daß sie nicht funktioniert, wenn die Tabelle Leerzeilen oder Leerspalten enthält, da sie immer nur den Zellberich bis zur nächsten Leerzeile/Leerspalte ermittelt und folgende Inhalte ignoriert.
LastCell scheidet aus, weil das nur die rechte untere Ecke der UsedRange ist, damit beseitigst du nicht das Problem.
Gruß Daniel
Anzeige
AW: .usedrange.rows.count erhöht sich bei dickem Rahme
22.05.2012 09:57:23
R.Przybilla
Hallo Daniel und Rudi,
danke für die Tipps.
CurrentRegion ist nett, wenn man wirklich nur den Bereich behandeln will, wie in dem Bsp.
Cells(6,1).CurrentRegion.Replace "","-"
hierzu muss man immer die Region kennen, zumindest den Anfang
Ich nutze oft for each mittels UsedRange.
Da ich den Anfang der Region meiste kenne, werd ich das nächste Mal an der Stelle CurrentRegion probieren.
.Find(what:="*",...) ist aber nur eine Krücke, bei solchen sich oft herausstellt, das man über irgendwelche komischen Dinge stolpert. Aber probieren werde ich das auch mal.
Man muss da sicher mit .cells(1,1).find(...) anfangen?!
Kann man die Zellen derart formatieren (dicken Rahmen unten), dass das Prob mit UsedRange nicht auftritt?
Einen Königsweg wird es wohl nicht geben, wie bei VBA üblich..
Danke Euch!
Gruß Ralf
Anzeige
AW: .usedrange.rows.count erhöht sich bei dickem Rahme
23.05.2012 02:01:23
Daniel
HI
suchen tust du mit
Sheets(...).Cells.Find(...)
die Crux bei FIND ist, daß FIND nur in sichtbaren Zellen sucht, es darf also nichts ausgeblendet und Autofilter darf nicht aktiv sein.
Gruß Daniel

16 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige