Bereiche ausschließen

Bild

Betrifft: Bereiche ausschließen
von: Franz W.
Geschrieben am: 01.10.2003 08:06:14

Guten Morgen Forum,

ich habe da einen Code mit dem ich in benannten Bereichen eines Blattes immer im Wechsel 2 Zeilen anders einfärbe:


Sub ZeilenFaerben()
Dim benannteBereiche As Object
Dim r&, s&, i&, e%
Dim strName As Range
Application.ScreenUpdating = False
    For Each benannteBereiche In ActiveWorkbook.Names
        Set strName = Range(benannteBereiche)
        r = strName.Row                                 ' Erste Zeile des Bereiches
        i = strName.Row + strName.Rows.Count - 2        ' Letzte Zeile des Bereiches
        e = strName.Column + strName.Columns.Count - 1  ' Letzte Spalte des Bereiches
        ' Alte Farben löschen:
        Range(Cells(r, 1), Cells(i + 2, e)).Interior.ColorIndex = _
            xlColorIndexNone
        ' Jede dritte und vierte Zeile färben:
        For s = r To i Step 4
            Range(Cells(s, 1), Cells(s + 1, e)).Interior.ColorIndex = 19
            Range(Cells(s, 14), Cells(s + 1, 15)).Interior.ColorIndex = 35
            Range(Cells(s, 16), Cells(s + 1, e)).Interior.ColorIndex = 40
        Next s
    Next
Application.ScreenUpdating = True
'Range("A9").Select
End Sub


Das klappt auch, solange in der Mappe nur das Blatt1 benannte Bereiche hat. Nun habe ich aber auf einem weiteren Blatt auch einen benannten Bereich, der gar nicht gefärbt werden soll. Und jetzt haut das Makro auf Blatt1 nicht mehr hin, weil der Code nicht zwischen den Blättern hin- und herwechselt.

Kann ich irgendwie feststellen, auf welchem Blatt sich die benannten Bereiche befinden, um das richtige Blatt, in dem der jeweilige Bereich tatsächlich liegt, anzusprechen? Oder um alternativ alle Blätter außer "Blatt1" vom Code auszuschließen?


Vielen Dank für Eure Tipps und Grüße
Franz
Bild


Betrifft: AW: Bereiche ausschließen
von: Hajo_Zi
Geschrieben am: 01.10.2003 08:22:12

Hallo Franz

den Level glaube ich erstmal nicht. Die Aufgabe ist mir nicht ganz klar. Folgender Ansatz.


Sub AlleNamen_eine_Tabelle()
'   erstellt von Hajo.Ziplies@web.de 15.09.03
' http://home.media-n.de/ziplies/
'   Namen nur in einer Tabelle markieren
    Dim ObBenannteBereiche As Object
    Dim StName As String
    Worksheets("Tabelle1").Unprotect
    For Each ObBenannteBereiche In ActiveWorkbook.Names
        StName = ActiveWorkbook.Names.Item(ObBenannteBereiche.Name)
        If Mid(StName, 2, InStr(StName, "!") - 2) = "Tabelle1" Then ' Tabellennamen feststellen
            With Range(ObBenannteBereiche.Name).Interior
                .ColorIndex = 19
                .Pattern = xlSolid
            End With
        End If
    Next
    Worksheets("Tabelle1").Protect
End Sub




Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


http://home.media-n.de/ziplies/



Bild


Betrifft: Trau mich nicht...
von: Franz W.
Geschrieben am: 01.10.2003 08:43:16

Hallo Hajo,

Du weißt ja selbst, was ich alles noch nicht weiß, ich bekomme ja von Dir dankenswerter Weise oft sehr wertvolle Hilfe. Und über welche dummen Kleinigkeiten ich immer noch und immer wieder stolpere... Da fände ich es nicht angemessen, ein höheres Level anzugeben...

Zum Code: Deine Lösung ist perfekt. Das mit "Mid" und "Instr" (mir noch neu und noch nicht ganz verdaut ;-)) ist die Lösung. Das mit meinem Code kombiniert ist genau die Lösung und funktioniert bestens.

Vielen Dank dafür und Grüße
Franz


Bild


Betrifft: AW: Niemand kann alles wissen
von: Hajo_Zi
Geschrieben am: 01.10.2003 08:50:10

Hallo Franz

dazu habe ich gerade Heute einen Beitrag gelesen.

"Überlege einmal:
Dummuser nutzen in Excel weit weniger wie 1 % wenn sie mit Excel nur Listen ohne Formeln erstellen.
Normale Exceluser benutzen nicht mal 2 % der Möglichkeiten von Excel
Selbsternannte Excelprofis kommen meist nicht über 5 % hinaus.
Sie wissen ja gar nicht, was es da noch alles gibt

Ich denke die wenigsten beim Forumstreffen behaupten von sich, mehr als 10 % von Excel aktiv jederzeit ohne Nachlesen einsetzen zu können.

Dies kommt unter anderem von den Vorkenntnissen her:
Keiner ist gleichzeitig Mathematiker, Kaufmann, Statistiker, Vermessungstechniker, Wissenschaftler, Logiker und und und in einem. Dementsprechend gibt es immer Lücken im Hintergrundwissen.

Die wenigsten die Excel einsetzen, wissen überhaupt, was in Excel-VBA alles realisierbar ist.

Dass Du gut bist, weiß ich. Akzeptiere einfach, dass man rund um Excel NIE alles wissen kann. Dazu ist Excel einfach zu umfangreich."



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: Danke fürs Kompliment...
von: Franz W.
Geschrieben am: 01.10.2003 09:07:53

Hallo Hajo,

danke für die Einschätzung sowohl der Situation als auch der Fähigkeiten meiner Wenigkeit! Der von Dir zitierte Beitrag ist vielleicht schon ganz richtig. Na gut, wenn Du meinst ... werd ich in Zukunft das Level eins höher eingeben (kann ja bei Fragen, die ich mir fast nicht zu stellen traue, wieder auf "Kaum Kenntnisse" zurückschrauben ;-)))

Grüße
Franz


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Bereiche ausschließen"