Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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

Zeilen ausblenden und zellen formatieren

Zeilen ausblenden und zellen formatieren
Tom
Hallo ihr alle,
ich würde gerne folgendes realisieren und habe selbst zu wenig wissen dafür.
Excel Tabelle
Ab zeile 6 (inklusiv) bis zeile 155 (inklusiv)
1. Immer aktiv im Hintergrund mit VBA
wird in spalte b etwas eingetragen, so sollen die zellen spalte b und c in der jeweiligen zeile automatisch verbunden werden, und der text fett formatiert.
wird der inhalt der dann verbundene zelle gelöscht, so sollen die formatierungen wieder rückgängig gemacht werden.
2. Bei Klick auf ein Button (1)
sollen alle Zeilen ausgeblendet in deren spalte b nicht steht
3. Bei Klick auf ein Button (2)
sollen alle Zeilen eingeblendet werden die ausgeblendet sind
Anmerkung es sind zusätzlich noch spalten ausgeblendet, die nicht eingeblendet werden sollen.
Danke.
Gruß Tom
AW: B6:B155 : Zeilen ein-/ausblenden + formatieren
14.06.2010 13:47:37
Tom
Hallo NoNet,
viele Dank. Genau sowas hab ich gesucht.
Gruß Tom
AW: B6:B155 : Zeilen ein-/ausblenden + formatieren
14.06.2010 14:27:40
Tom
Hallo,
ich habe versucht den vorherigen code selbst etwas zu erweitern was mir nur bedingt gelungen ist und nun brauche ich HILFE.
Code:
'Automatische Formatierung
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZ As Range
If Not Intersect(Target, [B6:B155]) Is Nothing Then
For Each rngZ In Intersect(Target, [B6:B155])
Cells(rngZ.Row, 2).Resize(, 5).Font.Bold = Not IsEmpty(rngZ.Value) 'fett  _
geschrieben
Cells(rngZ.Row, 2).Resize(, 5).MergeCells = Not IsEmpty(rngZ.Value)
Cells(rngZ.Row, 2).Resize(, 5).Interior.Color = RGB([255], [153], [0])
' ist der Zellenwert zwischen 11 und 161 = Farbe hellorange
Next
End If
End Sub
Ist in Zelle von Spalte B etwas drin, so wird von spalte b bis f die zellen verbunden
schriftart fett und zelle farblich hinterlegt.
Nur wie bekomme ich die Farbe wieder raus wenn die Zelle B leer ist.
Außerdem hätte ich gerne das die dann leeren zellen von spallte c bis f weiter verbunden bleiben und nur die zelle der spalte b nicht mehr mit den übrigen zellen verbunden ist.
ist bestimmt einfach wenn man weiß wie ?!
gruß tom
Anzeige
Farbe per ColorIndex 45 setzen
14.06.2010 15:31:37
NoNet
Hallo Tom,
hier ein Beispiel zum einfärben der Zelle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZ As Range
If Not Intersect(Target, [B6:B155]) Is Nothing Then
For Each rngZ In Intersect(Target, [B6:B155])
Cells(rngZ.Row, 2).Resize(, 5).Font.Bold = Not IsEmpty(rngZ.Value) 'fett  _
geschrieben
Cells(rngZ.Row, 2).Resize(, 5).MergeCells = Not IsEmpty(rngZ.Value)
' ist der Zellenwert zwischen 11 und 161, dann :
'Farbe hellorange : Farbindex 45 = RGB([255], [153], [0])
Cells(rngZ.Row, 2).Resize(, 5).Interior.ColorIndex = _
IIf((rngZ.Value > 11) * (rngZ.Value 
Beachte bitte, dass RGB(255,153,0) den Wert 39423 ergibt, das ist der gleiche Wert wie die Standard-Index-Farbe 45 (ColorIndex(45)). Bei geänderter Farbpalette könnte dies jedoch eine andere Farbe als hellorange ergeben !
Gruß, NoNet
Anzeige
AW: Farbe per ColorIndex 45 setzen
14.06.2010 16:32:58
Tom
Hallo NoNet,
und wie stelle ich es an, wenn ich die jeweilige zelle nicht auf einen wert sondern auf inhalt abfragen möchte
ist zelle leer dann: verbinde zellen von spalte c bis f und mache die zellen b bis f wieder farblos
ist zelle voll (text oder zahl) dann: verbinde zellen von spalte b bis f und mache diese bunt
?
Gruß tom
Das hatte ich bereits in der ersten Antwort
14.06.2010 18:00:21
NoNet
Hallo Tom,
ich hatte Dir bereits in meiner ersten Antwort gezeigt, wie man die LEERE Zellen wieder umformatiert bzw. Verbindung aufhebt, das musst Du nur etwas an das 2. Beispiel anpassen :
             Cells(rngZ.Row, 2).Resize(, 5).Interior.ColorIndex = _
IIf(IsEmpty(rngZ.Value), xlNone, 45)
Gruß, NoNet
Anzeige
AW: Das hatte ich bereits in der ersten Antwort
15.06.2010 06:41:03
Tom
Hallo NoNet,
Danke für deine Hilfe. Habe nun alles so wie ich es wollte.
Anbei den Code falls es jemandem hilft.
'Automatische Formatierung
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZ As Range
If Not Intersect(Target, [B6:B155]) Is Nothing Then
For Each rngZ In Intersect(Target, [B6:B155])
Cells(rngZ.Row, 2).Resize(, 5).Font.Bold = Not IsEmpty(rngZ.Value)
Cells(rngZ.Row, 2).Resize(, 5).MergeCells = Not IsEmpty(rngZ.Value)
Cells(rngZ.Row, 2).Resize(, 5).Interior.ColorIndex = _
IIf(IsEmpty(rngZ.Value), xlNone, 20)
Cells(rngZ.Row, 3).Resize(, 4).MergeCells = _
IIf(IsEmpty(rngZ.Value), xlNone, 20)
Next
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige