Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige