Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
500to504
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
500to504
500to504
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ungenutzte Fläche einfärben

ungenutzte Fläche einfärben
13.10.2004 17:40:48
Rolf
Hallo Experten,
ich möchte die ungenutzte Fläche eines Tabellenblatts einfärben,
also alles, was nicht UsedRange ist.
Hat jemand eine griffige Prozedur?
Herzliche Grüße
Rolf Beißner

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Blende doch lieber alles aus...
Boris
Hi Rolf,
...denn ansonsten hast du nen ziemlich großen UsedRange, der so ca. 16 Mio. Zellen umfasst...
Grüße Boris
Das mit dem großen UsedRange...
Boris
...war natürlich Quatsch - aber dennoch würd ich beim Ausblenden bleiben. Ergibt auch ein schönes Hintergrund-Grau...
Grüße Boris
Wieso Quatsch?
Bert
Ist schon so, dass gefärbte Zellen in Usedrange eingehen.
Bert
AW: Blende doch lieber alles aus...
13.10.2004 17:54:33
Rolf
Hallo Boris,
manuell?
Aber abgesehen davon:
Wenn du in einem leerem Tabellenblatt
mit Cells markierst und alles, sagen wir mal,
schwarz färbst, dann gibt ..UsedRange.Address
$A$1 zurück - statt 16 Mio.
Problem darf also weiterhin gelöst werden.
Herzliche Grüße
Rolf
Anzeige
Problem darf also weiterhin gelöst werden.
th.heinrich
hallo Rolf,
BEARBEITEN-GEHE ZU-INHALTE-LEERZELLEN und faerben.
wie das mit VBA funzzt weist Du besser als ich.
gruss thomas
Dann wird alles gefärbt...
Boris
Hi Thomas,
...auch die leeren innerhalb des UsedRange.
Grüße Boris
dachte das waere die absicht ? ot.
th.heinrich
AW: Blende doch lieber alles aus...
Boris
Hi Rolf,
auch wenn das manuell mit eine paar Tastenkombis schnell erledigt ist, hier ein Code zum Ein-und Ausblenden (je nachdem, was grad angesagt ist).
Option Explicit

Sub aus_und_einblenden()
Dim lsP As Integer
Dim lRow As Long
lsP = Cells.Find("*", searchorder:=xlByColumns, searchdirection:=xlPrevious).Column
lRow = Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Rows(lRow + 1 & ":" & Rows.Count).Hidden = Not Rows(lRow + 1).Hidden
Range(Cells(1, lsP + 1), Cells(1, Columns.Count)).EntireColumn.Hidden = Not Columns(lsP + 1).Hidden
End Sub

Grüße Boris
Anzeige
AW: Blende doch lieber alles aus...
13.10.2004 18:21:01
Rolf
Hallo Boris,
danke - das ist mindestens mal eine Teillösung,
die den Spezialfall abdeckt, dass UsedRange
oben links liegt. Befindet sie sich dagegen
irgendwo im Gelände, soll ja vorkommen, bleibt oben
+ links alles Gitternetz.
Vielleicht noch 'nen Versuch?
Herzliche Grüße
Rolf
AW: Blende doch lieber alles aus...
Boris
Hi Rolf,
dann eben noch 2 Abfragen mit der Find-Methode nach der ersten Spalte und der ersten Zeile - zudem klären, ob die erste Spalte / Zeile nicht belegt ist.
Dann den Sums von Zeile 1 bis 1. benutzter Zeile / Spalte 1 bis 1. benutzere Spalte ausblenden.
Alles im Prinzip nach dem gleichen Muster wie bereits gepostet.
Sind ein paar Zeilen Programmierung.
Grüße Boris
Anzeige
AW: Blende doch lieber alles aus...
13.10.2004 18:40:26
Rolf
Hallo Boris,
danke - das habe ich verstanden.
Vorgeschwebt hatte mir eine Lösung nach der Formel
UnusedRange = Cells - UsedRange
Deine Lösung ist zumindest kompakter als mein bisheriges Gewurstel.
Herzliche Grüße
Rolf
AW: Blende doch lieber alles aus...
K.Rola
Hi Boris,
und was ist mit Kommentaren und Grafikobjekten?
Gruß K.Rola
Die hat´s nicht zu geben...
Boris
Hi K.Rola,
...ganz einfach :p
Ja - was ist eigentlich damit? Gute Frage...
Grüße Boris
doch lieber einfärben
13.10.2004 19:54:19
Rolf
Hallo K.Rola,
schön, dass du mir hilfst.
Folgender Code funktioniert nicht,
weil zwischen copy und paste
offenbar nichts passieren darf.
Aber vielleicht kann man das Format
anders retten und du weißt wie?!

Sub einfärben()
Dim ur As Range
Set ur = ActiveSheet.UsedRange
ur.Copy
Cells.Interior.ColorIndex = 15
ur.Select
Selection.PasteSpecial (xlFormats)
Application.CutCopyMode = False
End Sub

Herzliche Grüße
Rolf
Anzeige
Lager den UsedRange auf ein anderes Blatt aus...
Boris
Hi Rolf,
...und hol ihn dir dann wieder.
Im Beispiel temporär auf Blatt 2.
Option Explicit

Sub einfärben()
Dim ur As Range
Set ur = ActiveSheet.UsedRange
ur.Copy Sheets(2).Range(ur.Address)
Cells.Interior.ColorIndex = 15
Sheets(2).Range(ur.Address).Copy Range(ur.Address)
Application.CutCopyMode = False
End Sub

Grüße Boris
AW: Lager den UsedRange auf ein anderes Blatt aus...
13.10.2004 20:19:18
Rolf
poh ey Boris,
dat haut mich getz aber ausse Socken,
sonne Lösung von sonn Experte wie dich
Trotzdem herzlich
Rolf

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige