Office: Bereich definieren

Helfe beim Thema Bereich definieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hoi Zäme Möchte gerne via VBA einen Kalender einfärben. Es ist ein dynamischer Kalender der in den Zeilen B5-xxx(bis 30.6...) die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Pluto1, 17. Juli 2012.

  1. Bereich definieren


    Hoi Zäme

    Möchte gerne via VBA einen Kalender einfärben.
    Es ist ein dynamischer Kalender der in den Zeilen B5-xxx(bis 30.6...) die Wochentagbezeichnungen stehen hat, also Mo, Di, Mi etc.
    Nun möchte ich jeweils Sa + So gelb einfärben. Die Einfärbung darf aber nur ab Zeile 5 bis Zeil 42 und dann wieder ab Zeile 52 bis Zeil 88 eingefärbt werden.
    Natürlich kann man das mit einer bedingten Formatierung lösen, nur habe ich dann das problem, dass wenn ich die 3. Bedinung, welche lautet jede 3 Zeile einen Rahmenstrich unten ausführen, oft die Bedinung nicht richtig funktioniert.
    Mir wäre es lieber die sache mit VBA zu lösen. Ich haben nämlich noch etliche weitere Einfärbungen die gemacht werden müssen.

    Mein Problem ist die Bereiche Zeile 5:42 und 52:88 zu definieren da ich ja nie weiss, welches die letzte Spalte sein wird.

    Meine Variante:

    Sub Wochenendedeklaration()
    Dim Spalte as Integer
    Dim SpalteMax as Integer

    With Tabelle1
    SpalteMax = .UsedRange.Columns.Count

    For Spalte = 2 to SpalteMax

    If Weekday(.Cells(5, Spalte).Value) = 1 Or Weekday(.Cells(5, Spalte).Value) = 7 then
    .Columns(Spalte).Interior.ColorIndex = 6

    Else
    .Columns(Spalte).Interior.ColorIndex = xlColorIndexNone

    End If

    Next Spalte

    End With
    End Sub

    Das Makro funktioniert auch gut, nur leider färbt es mir die ganzen Spalten, von der ersten bis zur letzten Zeile ein.
    Wie definierie ich in meinem Makro die Bereiche und wie/wo platziere ich den Code?
    Kann mir jemand helfen?
    Gruss Pluto1

    :)
     
    Pluto1, 17. Juli 2012
    #1
  2. hi

    Code:
     
    chris-kaiser, 19. Juli 2012
    #2
  3. Danke für die prompte Antwort, nur wo kommt der Code hin?
    Wenn ich deinen Code nehme wird leider nicht nach den Wochenenden gesucht sondern färbt mir einfach den Bereich gelb ein.
    Bitte um Hilfe
    Danke Pluto1
     
    Pluto1, 19. Juli 2012
    #3
  4. Bereich definieren

    Hi

    öhmm, wo blos *wink.gif* statt
    .Columns(Spalte).Interior.ColorIndex = 6

    diese Zeile

    Union(.Range(.Cells(5, spalte), .Cells(42, spalte)), .Range(.Cells(52, spalte), .Cells(88, spalte))).Interior.ColorIndex = 6


    ich dachte du willst nicht die ganze Spalte färben?
     
    chris-kaiser, 19. Juli 2012
    #4
  5. Sorry habs gefunden wie - ganz zerzlichen Dank!!!!
     
    Pluto1, 19. Juli 2012
    #5
  6. Sub Wochenendedeklaration()
    Dim Spalte As Integer
    Dim SpalteMax As Integer

    With Tabelle1
    SpalteMax = .UsedRange.Columns.Count

    For Spalte = 2 To SpalteMax

    If Weekday(.Cells(5, Spalte).Value) = 1 Or Weekday(.Cells(5, Spalte).Value) = 7 Then
    '.Columns(Spalte).Interior.ColorIndex = 6
    Union(.Range(.Cells(5, Spalte), .Cells(42, Spalte)), .Range(.Cells(52, Spalte), .Cells(88, Spalte))).Interior.ColorIndex = 6

    Else
    .Columns(Spalte).Interior.ColorIndex = xlColorIndexNone

    End If

    Next Spalte

    End With

    End Sub


    so erhalte ich was ich eigentlich wollte, es färbt mir nur die Spalten mit der Bezeichnung Samstag und Sonntag
     
    Pluto1, 19. Juli 2012
    #6
  7. Hab leider noch einen kleinen Fehler im Code den ich nicht finde.

    Wie gesagt, es ist ein dynamischer Kalender. In der Zelle A1 befindet sich das Jahr. Wenn ich die Jahreszahl wechsle werden die Tage entsprechend angepasst. Bei 2012 funktioniert mein Makro bei 2013 nicht, bei 2020 funktioniert es. Für mich nicht nachvollziehbar.

    Dann möchte ich noch, dass das Makro mit dem Einfärben der Zelle automatisch durchläuft, wenn ich in A1 die Jahreszahl ändere.
    Ich lade mal die Datei hoch.
    Wäre nett wenn mir jemand helfen könnte.
    Gruss Pluto1
     
    Pluto1, 20. Juli 2012
    #7
  8. Bereich definieren

    Hallo Pluto,

    was meinst Du mit "funktioniert nicht"?
    In 2012, 2016, 2020 usw. (Schaltjahr!) stehen die Wochentage des ersten und 2. Halbjahres genau untereinander - daher passt Deine "Logik": Prüfe das Datum im ersten Halbjahr und wende die Färbung ohne gesonderte Prüfung auch in der gleichen Spalte des 2. Halbjahres an. Ist aber grad mal kein Schaltjahr (soll hin und wieder vorkommen *wink.gif*), verschieben sich die Wochentage im 2. Halbjahr und Deine Logik kann garnicht mehr passen: 1. und 2. Halbjahr wären also separat zu prüfen.

    Ist es das, was "nicht funktioniert"?

    Bring erstmal das Makro ins Reine - dann ist es eine Kleinigkeit, dies durch das Change-Ereignis automatisch starten zu lassen.

    Zudem: Eine derart simple Prüfung würde ich definitiv makrofrei halten - die bedingte Formatierung erledigt das viel einfacher!

    Grüße
    EarlFred
     
    EarlFred, 20. Juli 2012
    #8
  9. Du hast recht, genau das ist mein Problem. Ich versuch schon seit Tagen mein Makro abzuändern aber ich krieg es nicht hin. Meine Kenntnisse sind ja auch = 0. Das Makro habe ich mir anhand von vielen verschiedenen Forumseinträge zusammengesetzt.
    Ich wäre dir wirklich dankbar für deine Hilfe,wie muss ich mein Makro abändern`?

    Danke und Gruss Pluto1
     
    Pluto1, 25. Juli 2012
    #9
  10. Hallo Pluto1,

    das einfachste ist zwei Schleifen

    Schau mal hier als Beispiel da das Zweite Halbjahr nicht immer mit dem selben Tag beginnt

    Code:
     
    Peter9, 25. Juli 2012
    #10
  11. Hallo Peter9

    Ganz herzlichen Dank!!! nun funktioniert es so wie ich es brauche.
    Die Datei muss nämlich auf Excel 2003 laufen und ich hab noch div. andere Formatierungen vorzunehmen, unter anderem muss noch jede 3 Zeile einen Unterschrich erhalten. Als ich die 3 Bedingungen, also Sa+So belb einfärben und jede 3. Zeile einen Unterstrich als bedingte Formatierung hinterlegte funktionierte das in Excel 2003 nich, Sa+So waren ohne Rahmenstrich. Ich konnte die Reihenfolge hin und her schieben wie ich wollte, nie das gewünschte Resultat. Aus diesem Grunde habe ich dann gedacht, dass ich das Problem wohl mit VBA lösen muss.
    Ganz lieben herzlichen Dank für deine Hilfe!!!*Smilie
    Gruss Pluto1
     
    Pluto1, 25. Juli 2012
    #11
Thema:

Bereich definieren

Die Seite wird geladen...
  1. Bereich definieren - Similar Threads - Bereich definieren

  2. Bereich von Excel nach Word mit zusammenhängenden Passagen übergeben

    in Microsoft Excel Hilfe
    Bereich von Excel nach Word mit zusammenhängenden Passagen übergeben: Guten Abend zusammen, ich kopiere per VBA einen Zellbereich z.B.: A1:F100. Dieser Zellbereich hat somit 100 Zeilen die Texte mit (optisch gesehen) verschiedenen Absätzen enthalten. Leer Zeile...
  3. Nur markierte Zellen kopieren und wieder einfügen

    in Microsoft Excel Hilfe
    Nur markierte Zellen kopieren und wieder einfügen: Ich habe z.B. in einer Excelliste untereinander folgendes stehen: 1 2 3 4 5 Ich markiere mir nun anhand folgender Tastenkombination (Strg gedrückt halten) alle Zellen, außer Zelle 2. Nun...
  4. Range-Bereich mit Variablen definieren

    in Microsoft Excel Hilfe
    Range-Bereich mit Variablen definieren: Hallo zusammen, ich habe folgendes Problem: Ich möchte gerne einen bestimmten Bereich per Range mit Variablen definieren. Aktuell sieht das ganze so aus: Code: Dim i as Integer Dim...
  5. Bundesländer nach PLZ-Bereich zuordnen/definieren

    in Microsoft Excel Hilfe
    Bundesländer nach PLZ-Bereich zuordnen/definieren: Hi liebes Forum, ich habe ähnliche Beiträge gefunden, die Lösungen passen jedoch irgendwie nicht auf mein Problem, bzw. vllt. habe ich diese auch nicht verstanden. Mein Problem wirkt auf den...
  6. Bereich mit .cells definieren

    in Microsoft Excel Hilfe
    Bereich mit .cells definieren: Hallo Leute, ich habe ein recht banales Problem, bei dem ich allerdings ohne eure Hilfe nicht weiterkomme. Es geht darum, dass ich gerne einen Bereich Sortieren möchte. Hat zuvor alles mit...
  7. Runden Bereich in VBA definieren

    in Microsoft Excel Hilfe
    Runden Bereich in VBA definieren: Hallo zusammen, ich schreibe im Rahmen meiner Abschlussarbeit ein Statikprogramm um Stahl-Verbundstützen zu bemessen. Das ist ein doppel-T Stahlprofil mit ausbetonierter Kammer und eingelegten...
  8. Bereiche definieren

    in Microsoft Excel Hilfe
    Bereiche definieren: Hallo zusammen, habe da ein kleines Problem: Ich habe 2 Spalten: a 10 a 45 a 30 b 5 b 30 c 25 c...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden