PDA

Vollständige Version anzeigen : Probleme mit VBA Code in Excel 2010


cjanny
05.12.2014, 09:35
Hallo zusammen,
ich habe hier ein Problem mit dem automatischen setzen von Buchstaben in Zellen.
Also der Codeabschnitt zeigt was auf klick einer Schaltfläche passieren soll. Über eine bedingte Formatierung steuer ich zusätzlich welche Zelle welche Farbe haben soll.

Beispiel: 03.04.2015 ist Ostermontag also Colorindex 22
Das klappt auch soweit.

Wenn diese Zelle diese Farbe hat soll also kein Buchstabe gesetzt werden. Und das ist mein Problem, er setzt trotdem den Buchstaben. In diesem Fall ein U für Urlaub. Das ist falsch weil ich ja an einem Feiertag kein Urlaub nehmen brauch :grins:

Resultat ist ein Falschergebnis bei den restlichen Urlaubstagen für 2015 :(

Jemand ne Idee?

Set objOption = ThisWorkbook.Worksheets("Eingabe").OLEObjects("Urlaub")
If Not rngZeile Is Nothing And intSpalteStart <> 0 And intSpalteEnde <> 0 And objOption.Object.Value = True Then
For Each rngzelle In .Range(.Cells(rngZeile.Row, intSpalteStart), .Cells(rngZeile.Row, intSpalteEnde))
If Weekday(.Cells(7, rngzelle.Column)) <> 1 And Weekday(.Cells(7, rngzelle.Column)) <> 7 And rngzelle.Interior.ColorIndex <> 22 Then
rngzelle = "U"
rngzelle.Interior.ColorIndex = 5
rngzelle.Font.Bold = True
rngzelle.Font.ColorIndex = 2

Klaus-Dieter
05.12.2014, 09:52
Hallo,

dann musst du in dieser Zeile: If Weekday(.Cells(7, rngzelle.Column)) <> 1 And Weekday(.Cells(7, rngzelle.Column)) <> 7 And rngzelle.Interior.ColorIndex <> 22 Then eben auch die Feiertage ausschließen. Für ein konkretes Beispiel müsste man wissen, wie und wo du die Feiertage definiert hast.

cjanny
05.12.2014, 10:01
Hallo Klaus-Dieter,
erstmal danke für die schnelle Reaktion. Die Feiertage definiere ich in einer extra Tabelle. Die bedingte Formatierung schaut jetzt ob das Datum in der Tabelle (Legende) gleich in der Tabelle (Abwesenheit2015) ist und wenn ja setzt sie die Zellenfarbe auf Colorindex 22.
Der Code schaut jetzt auf den Colorindex und soll dann demewntsprechend reagieren.
Soll ich die Datei mal anhängen?

Klaus-Dieter
05.12.2014, 10:05
Hallo,

Datei ist immer gut. Übrigens würde ich Auswertungen nicht nach Zellformaten vornehmen.

cjanny
05.12.2014, 10:20
Hallo,
Datei ist zu groß und hat ein Passwort. Ich bau es mal um, dann schicke ich die Datei.
Was meinst du mit "nicht nach Zellformat"? Sollte ich liebe ein Buchstaben setzen?

Klaus-Dieter
05.12.2014, 11:31
Hallo,

Zellformate sind Textfarbe, Hintergrundfarbe usw., danach sollte man nicht auswerten. Es kann immer sein, dass da ein Nutzer herumspielt, dann passen die Ergebnisse nicht mehr.

GMG-CC
05.12.2014, 12:11
Sollte ich liebe ein Buchstaben setzen?

Nicht unbedingt, aber die gleiche Bedingung, mit der du die Feiertage per Bedingter Formatierung farblich hinterlegst, kannst du doch auch zum eintragen der Werte heranziehen. Im einfachsten Fall kannst du ganz brutal die Feiertagsliste durchgehen und alle Inhalte aus den entsprechenden Spalten per ClearContents löschen. Natürlich kannst du auch alles ausgefüllt lassen und die Summe der Feiertage abziehen ...

Aber du wirst ja eine kleine Musterdatei zur Verfügung stellen, dann fällt uns die Hilfe auch leichter.