Microsoft Excel

Herbers Excel/VBA-Archiv

Bereiche ausschließen

    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
      


    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
    


    Grußformel

    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/



      


    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


      


    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."

    Grußformel

    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/



      


    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


     

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