Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen ausfüllen

Zellen ausfüllen
21.11.2006 14:05:58
Frank
Hallo zusammen,
habe mir wieder mal ein Problem aufgelegt wo mir zum Schluss das nötige Fachwissen fehlt. Hoffe, das mir jemand weiterhelfen kann.
Ich habe eine Tabelle als Kalender aufgebaut. Per doppelklick in eine definierte Zelle öffnet sich eine userform wo sich Buttons befinden - je nachdem welche Zellen ich ausgewählt habe werden die ausgewählten Zellen mit den Eigenschaften des Buttons versehen. Sprich Button Interior ist Rot und caption ist U so wird die Zelle Rot gefärbt und mit einem U versehen.
Ich liefere mal ein Bildschirmfoto mit, da die Datei zu umfangreich ist.
Wie mache ich es aber, dass die zellfelder welche grau hinterlegt sind ignoriert werden. Diese Felder sind bedingte Formatierungen auf den Samstag und Sonntag bezogen. Feiertage werden über ein Makro eingefärbt. Einerseits würde es mir schon helfen dach datum die sache zu selektieren - wollen klein anfangen.
Mein Beispiel bezieht sich auch nur auf die erste Spalte - funktioniert nicht - bräuchte dies für die restlichen Spalten auch + Monate.
Habe versucht logisch ranzugehen - ist garantiert wieder ein kleiner fehler. Bitte nicht lachen.
https://www.herber.de/bbs/user/38368.xls
Gruß Frank

Private Sub CommandButton_urlaub_Click()
For s = 2 To 34
If Format(Cells(s, 1), "dd ddd")  Then GoTo sprung2
Selection.Value = CommandButton_urlaub.Caption
Selection.Interior.Color = CommandButton_urlaub.BackColor
sprung2:
Next s
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen ausfüllen
22.11.2006 11:22:28
fcs
Hallo Frank,
habe auch mal versucht mit Logik dran zu gehen :-).
Das Makro ermittelt ausgehend von der angeklickten Zelle das zugehörige Datum links von der Zelle und überprüft ob der Tag ein Sa oder So ist oder eine unzulässige Spalte gewählt wurde.
Die Überprüfung auf die zulässigen Zeilennummern/Spalte1 kannst du wieder rausnehmen, wenn diese Prüfung schon in deiner Doppelklick-Prozedur erfolgt.
Gruß
Franz

Private Sub CommandButton_urlaub_Click()
Dim Zelle As Range
Dim Zeile1 As Long, Zeile31 As Long
Set Zelle = Selection
Zeile1 = 3 'Zeile Tag 1 eines Monats
Zeile31 = 33 'Zeile Tag 31 eines Monats
If Zelle.Row >= Zeile1 And Zelle.Row <= Zeile31 And Zelle.Column <> 1 Then
If Not Wochenende(Zelle, 8) Then 'die 8 ggf. anpassen _
sie ist gleich der Anzahl Spalten pro Monat in denen die Markierung _
eingetragen werden darf.
Zelle.Value = CommandButton_urlaub.Caption
Zelle.Interior.Color = CommandButton_urlaub.BackColor
End If
Else
MsgBox "Unzulässige Zelle wurde gewählt!"
End If
End Sub
Private Function Wochenende(Zelle As Range, MaxVersatz) As Boolean
Dim Tag As Date
Dim Versatz As Integer
'Spalte des Datums ermitteln
Versatz = -1
Do Until IsDate(Zelle.Offset(0, Versatz))
Versatz = Versatz - 1
Loop
If Versatz < -MaxVersatz Then
MsgBox "Unzulässige Zelle wurde gewählt!"
Wochenende = True
Else
Tag = Cells(Zelle.Row, Zelle.Column + Versatz)
'Prüfung auf Samstag/Sonntag
If Weekday(Tag) = vbSunday Or Weekday(Tag) = vbSaturday Then
MsgBox "Samstag oder Sonntag wurde gewählt"
Wochenende = True
End If
End If
End Function

Anzeige
AW: Zellen ausfüllen
22.11.2006 15:09:34
Frank
Hallo Franz,
auch wenn wir in Sachsen Feiertag haben muß ich in ner halben Stunde auf Arbeit. Kann Deine Ausführung erst heute spät Abends oder morgen Früh ausführen.
Wollt mich nur schnell melden und mich für Deine Mühe bedanken.
Melde mich auf jedenfall.
Gruß Frank
AW: Zellen ausfüllen
23.11.2006 07:15:36
Frank
Hallo Franz,
funktioniert pro Zelle super!!! Danke
Wie verhält sichs denn, wenn der Benutzer mehrere Zellen miteinmal mit der Buttonsfarbe und Beschriftung formatieren möchte.
Es muß doch irgendwie auch eine Möglichkeit geben wo ich sagen kann, übernehme die Formatierung der Zellen so lange, so lange eine markierte Zelle nicht die Hintergrundfarbe Grau hat.
Gruß Frank
Anzeige
AW: Zellen ausfüllen
23.11.2006 10:09:51
fcs
Hallo Frank,
da du das "Grau" der Zellen mit bedingter Formatierung erzeugst ist die Prüfung auf die Farbe relativ komplex. Da ist es einfacher über Datum und Wochentag zu arbeiten.
Ich hab das Makro mal so angepasst, dass ein selektierter Zellbereich abgearbeitet wird. Allerdings solltest du dann evtl. in der Function die Meldung "Samstag oder Sonntag wurde gewählt" rausnehmen, da das dann ggf. recht nervt.
Gruß
Franz

Private Sub CommandButton_urlaub_Click()
Dim Bereich As Range, Zelle As Range
Dim Zeile1 As Long, Zeile31 As Long
Set Bereich = Selection
Zeile1 = 3 'Zeile Tag 1 eines Monats
Zeile31 = 33 'Zeile Tag 31 eines Monats
For Each Zelle In Bereich
If Zelle.Row >= Zeile1 And Zelle.Row <= Zeile31 And Zelle.Column <> 1 Then
If Not Wochenende(Zelle, 8) Then 'die 8 ggf. anpassen _
sie ist gleich der Anzahl Spalten pro Monat in denen die Markierung _
eingetragen werden darf.
Zelle.Value = CommandButton_urlaub.Caption
Zelle.Interior.Color = CommandButton_urlaub.BackColor
End If
Else
MsgBox "Unzulässige Zelle wurde gewählt!"
End If
Next Zelle
End Sub

Anzeige
AW: Zellen ausfüllen
23.11.2006 16:42:40
Frank
Hi Franz,
SUUUUUUPER!!! Genau das wollte ich!!!
Bin happy - danke Danke
Gruß Frank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige