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

Zeilen ausblenden, wenn der Z.Inhalt grau ist?

Zeilen ausblenden, wenn der Z.Inhalt grau ist?
23.05.2007 21:50:00
Selma
Hallo Leute,
ich suche nach eine VBA-Lösung für folgendes....
wenn in Spalte A der Zelleninhalt der Zelle mit grauer Schriftfarbe (ColorIndex 15) dargestellt ist,
dann soll diese ZEILE ausgeblendet werden.
Beim erneuten ausführen des Makros sollen diese Zeilen wieder eingeblendet werden.
Wie mache ich das?
Vielen herzlichen Dank im Voraus.
Liebe Grüße
Selma

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Versuch ...
23.05.2007 22:09:00
Matthias
Hi,
in ein Modul
Option Explicit

Sub Selma()
Dim Col As Boolean
If ActiveCell.Rows.Hidden = True Then ActiveCell.Rows.Hidden = False: Exit Sub
If ActiveCell.Font.ColorIndex = 15 Then Col = True
ActiveCell.Rows.Hidden = True
Col = False: Exit Sub
End Sub


Gruß Matthias

AW: Versuch ...
23.05.2007 22:24:00
Selma
Hallo Matthias,
erstmal Danke für deine Mühe. Leider funktioniert es nicht.
Es werden nicht alle Zeilen ausgeblendet.
Das Makro soll an aktives Arbeitsblatt angewendet werden.
LG
Selma

Beitrag ist noch offen !
23.05.2007 22:33:00
Matthias
Hallo Selma
Habe leider für heute keine Zeit mehr, sorry.
Gruß Matthias

Anzeige
AW: Versuch ...
23.05.2007 23:30:00
ingUR
Hallo, Selma,
die Idee von Matthias L. aufgegriffen und auf alle Zeilen bis zur letzen beschriebenen Zeile in der Spalte A erweitert, sieht bei mir so aus:

Option Explicit
Sub Selma()
Dim rngC As Range
For Each rngC In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
With rngC
If .Rows.Hidden = True Then
Cells.EntireRow.Hidden = False
Range("A1").Select
Exit For
Else
If .Font.ColorIndex = 15 Then
.Rows.Hidden = True
End If
End If
End With
Next
End Sub

Diese Code ist zwar länger als der Von Josef E., jedoch sind nacharbeiten bei diesem kurzen Code dann notwendig, wenn die Schrift in der letzten oder in den letzten Zeilen graue Schrtiftfabe aufweist.
Gruß,
Uwe

Anzeige
Danke Uwe!
24.05.2007 00:02:00
Selma
Danke Uwe !
LG
Selma

AW: Zeilen ausblenden, wenn der Z.Inhalt grau ist?
23.05.2007 23:04:00
Josef
Hallo Selma,
versuch mal.
Sub Grau()
Dim rng As Range


For Each rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    rng.EntireRow.Hidden = Not rng.EntireRow.Hidden And rng.Font.ColorIndex = 15
Next

End Sub

Gruß Sepp

Anzeige
Danke Sepp !
24.05.2007 00:01:52
Selma
Danke Sepp !
LG
Selma

Anpassung: z.T. nicht nachvollziehb. Ergebnisse
27.05.2007 11:07:50
Fritz_W
Hallo Forumsteilnehmer,
ích wollte die Makros aus diesem Thread gerne auf etwas veränderte Aufgabenstellungen anpassen.
Dabei sind mir auch einige Ungereimtheiten aufgefallen, die ich mir (aufgrund der unzureichenden VBA-Kenntnisse) nicht erklären kann.
Zum besseren Verständnis "als Anlage" meine Testdatei.
In der Arbeitsmappe wurde Uwes Makro in Grau_Schrift1 und Sepps Code in Grau_Schrift2 umbenannt.
Die Codes beider Makros blenden auch Zeile 18 der Spalte A aus, da die Zelle A18 entsprechend formatiert ist. Die Zelle A18 ist jedoch leer, deshalb würde ich gerne, dass die Zeile 18 nicht ausgeblendet wird. Ist das machbar?
Ich wollte anschließend den Code so verändern, dass die Zeilen in Abhängigkeit der Zellhintergrundfarbe aus- und wieder eingeblendet werden. Die von mir geänderten Codes liefern anschließend z.T. unterschiedliche "Ergebnisse" (vgl. Beispielmappe D31:E31, D33:E33). So werden in beiden Fällen die jeweils letzte Zeile mit in der Spalte A grau formatierter Hintergrundzelle (Zeile 29) nicht ausgeblendet. Bei Sepps Code werden anschließend die Zeilen 25 und 27 nicht wieder eingeblendet. Bezüglich des Ursprungscodes (Schriftfarbe grau) konnte ich doch keine Unterschiede feststellen?
Wäre dankbar hinsichtlich entsprechender Erklärungen und v.a. von Hilfen bezüglich der von mir gewünschten Anpassung.
Allen Helfern bereits an dieser Stelle meinen herzlichen Dank für die Unterstützung.
mfg
Fritz
https://www.herber.de/bbs/user/42793.xls

Anzeige
AW: Anpassung: z.T. nicht nachvollziehb. Ergebnisse
27.05.2007 11:24:08
Josef
Hallo Fritz,
das die Zeile 29 nicht ausgeblendet wird, ist klar, weil immer der Bereich bis zur letzten gefüllten Zelle bearbeitet wird. Dazu muss man den Bereich fix vorgeben.
Die Abfrage ob die Zelle leer ist, muss man im Code halt integrieren.
Sub Grau_Schrift1()
'Uwe (ingUR)
Dim rngC As Range
For Each rngC In Range("A1:A30")
    With rngC
        If .Rows.Hidden = True Then
            Cells.EntireRow.Hidden = False
            Range("A1").Select
            Exit For
        Else
            If .Font.ColorIndex = 15 And Len(.Text) > 0 Then
                .Rows.Hidden = True
            End If
        End If
    End With
Next
End Sub

Gruß Sepp

Anzeige
AW: Anpassung: z.T. nicht nachvollziehb. Ergebnisse
27.05.2007 11:44:43
Fritz_W
Hallo Sepp,
danke für die Hilfe, der von Dir geänderte Code, stellt für mich eine sehr geschätzte Variante dar.
Ich hoffe, Du siehst mir das nach, das mir manches nicht klar ist, was für dich selbstverständlich ist. -:)
Mit einem Bruchteil deiner Excel-Kenntnisse wäre schon zufrieden (das ist ernst gemeint und keine Schmeichelei). Ich glaub so denken ein Vielzahl der Forumsteilnehmer, denen Du hier schon geholfen hast.
Eine sinnvolle Änderung des Codes wäre demnach auch die Angabe eines Bereichs, auf denen sich das Aus- und Einblenden bezieht (z.B. A2:A51). Wie würde das aussehen?
Gruß
Fritz

Anzeige
AW: Anpassung: z.T. nicht nachvollziehb. Ergebnisse
27.05.2007 15:54:12
Josef
Hallo Fritz,
den Breich definierst du in

For Each rngC In Range("A1:A30")


also einfach anpassen.

Gruß Sepp

AW: Anpassung: z.T. nicht nachvollziehb. Ergebnisse
27.05.2007 18:27:55
Fritz_W
Hallo Sepp,
vielen Dank.
Ich habe nun schon wieder was dazugelernt
(Ich weiss, bei genauem Hinsehen hätte ich das eigentlich selbst herausfinden können).
Gleich melde ich mich noch einmal mit einer Frage im Thread von Gestern, in dem Du mir bereits geholfen hattest. Freue mich, wenn Du Dir das mal anschauern würdest.
Gruß
Fritz
Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige