Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Feiertage markieren VBA-Problem

Forumthread: Feiertage markieren VBA-Problem

Feiertage markieren VBA-Problem
15.03.2007 09:59:00
Nils
Hallo,
habe ein Problem mit den Feiertagsmarkierungen! Das Makro markiert mir nur die Feiertage in den "A-..." blättern und aus irgend einen grund nicht mehr die Feiertage in den "Z-..." blättern.
Das Makro hatte mal eine liebe Person hier im Forum für mich geschrieben, weil ich mich mit sowas nicht auskenne! Es ging eine ganze weile, und auf einmal nicht mehr?! Ich verstehe nicht wieso, habe nix daran geändert!
Hier das ganze Excel-Dokument:
http://www.clumsy-net.de/dpd.xls
das ist der quelltext:

Sub Feiertagemarkieren()
Dim wksDaten As Worksheet, wksMonat As Worksheet, Feiertag As Variant, Zelle As Range
Dim Zeile As Long, Monat As Integer, Bereich As Range
Dim Schichten, i As Integer, Schutz As Boolean
Set wksDaten = Worksheets("Daten")
Zeile = 19 '1. Zeile mit Feiertag in Spalte G Blatt Daten
'vorhandene (alte) Feiertagseinträge löschen in A-Blättern und Formel wiederherstellen
For Monat = 1 To 12
Set wksMonat = Worksheets("A-" & Format(Monat, "00"))
If wksMonat.ProtectContents = True Then
wksMonat.Unprotect
Schutz = True
Else
Schutz = False
End If
Set Bereich = Application.Union(wksMonat.Range("C20:G32"), wksMonat.Range("C67:G79"))
For Each Zelle In Bereich
If Zelle.Value = "Feiertag" Then
Zelle.ClearContents
Zelle.VerticalAlignment = xlVAlignCenter
Zelle.Font.Size = 18
Zelle.Offset(-2, 0).Range("A1:A2").Interior.ColorIndex = xlNone 'keine Farbe
If Zelle.Row """",VLOOKUP(R[-1]C,'Z-" _
& Format(Monat, "00") & "'!R5C2:R29C8," & Spalte & ",FALSE),"""")"
End If
Next
If Schutz = True Then wksMonat.Protect
Next
'Feiertage markieren in A-Blättern
Do
Feiertag = wksDaten.Cells(Zeile, "G")
If Feiertag = 0 Then Exit Do
Set wksMonat = Worksheets("A-" & Format(Month(Feiertag), "00"))
If wksMonat.ProtectContents = True Then
wksMonat.Unprotect
Schutz = True
Else
Schutz = False
End If
Set Bereich = Application.Union(wksMonat.Range("C19:G31"), wksMonat.Range("C66:G78"))
For Each Zelle In Bereich
If Zelle.Value = Feiertag Then
Zelle.Offset(1, 0).Value = "Feiertag"
Zelle.Offset(1, 0).Font.Size = 10
Zelle.Offset(1, 0).VerticalAlignment = xlVAlignTop
Zelle.Offset(-1, 0).Range("A1:A2").Interior.ColorIndex = 15 'Hellgrau
End If
Next
If Schutz = True Then wksMonat.Protect
Zeile = Zeile + 2
Loop
'Feiertage markieren in Z-Blättern
For Monat = 1 To 12
Set wksMonat = Worksheets("Z-" & Format(Monat, "00"))
If wksMonat.ProtectContents = True Then
wksMonat.Unprotect
Schutz = True
Else
Schutz = False
End If
Set Bereich = wksMonat.Range("B5:B29")
For Each Zelle In Bereich
Zeile = 14
Do
Feiertag = wksDaten.Cells(Zeile, "G")
If Feiertag = 0 Then Exit Do
If Zelle.Value = Feiertag Then
Zelle.Interior.ColorIndex = 15 'Hellgrau
Exit Do
Else
Zelle.Interior.ColorIndex = xlNone 'Kein Feiertag, keine Füllung
End If
Zeile = Zeile + 2
Loop
Next Zelle
If Schutz = True Then wksMonat.Protect
Next Monat
End Sub
grüße,
nils
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feiertage markieren VBA-Problem
15.03.2007 11:57:17
P@ulchen
Hallo Nils,
Du hast im unteren Drittel des Codes eine falsche Startzahl für die Zeile...
For Each Zelle In Bereich
Zeile = 14
Do

Mach aus der 14 mal 'ne 19...
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
AW: Feiertage markieren VBA-Problem
15.03.2007 12:03:00
Nils
ohhh SUPER!
daran lag es!
Recht herzlichen dank!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige