Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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
Inhaltsverzeichnis

Jahreskalender

Jahreskalender
18.01.2013 10:27:04
BlueJay
Guten Morgen zusammen, ich wollte mal fragen ob einer von euch excel experten mir kurze hilfestellung geben kann?
Und zwar möchte ich gerne in der angehängten Exceldatei "Jahreskalender" das mir das Makro nicht 12 Tabellenblätter angelegt sondern alle Monate in ein Blatt schreibt ... aber wie ... hat jemand schon eine ähnliche Datei angefertig? Oder kann mir jemand damit helfen diese anzupassen?
https://www.herber.de/bbs/user/83464.xls
Über eine Hilfe würde ich mich riesig freuen.
MFG

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

Betreff
Datum
Anwender
Anzeige
AW: Jahreskalender
18.01.2013 11:24:11
Hajo_Zi

Option Explicit
Dim Jahr
Public Function Ostern(Yr As Integer)
Dim d As Integer
d = (((255 - 11 * (Yr Mod 19)) - 21) Mod 30) + 21
Ostern = DateSerial(Yr, 3, 1) + d + (d > 48) + _
6 - ((Yr + Yr \ 4 + d + (d > 48) + 1) Mod 7)
End Function
Sub Main()
Application.ScreenUpdating = False
Jahr = InputBox("Gewünschtes Kalenderjahr angeben (Format: 1999):")
Worksheets("Feiertage").Range("C1").Value = CInt(Jahr)
Workbooks.Add
Call MonateAnlegen
Call TageEintragen(Jahr)
End Sub
Private Sub MonateAnlegen()
Dim i%
For i = 1 To Worksheets.Count - 1
Application.DisplayAlerts = False
Worksheets(1).Delete
Application.DisplayAlerts = True
Next i
ActiveSheet.Name = Jahr
End Sub
Private Sub TageEintragen(Jahr)
Dim m%, d%
Dim Loi As Variant
Cells(1, 1) = CDate("01.01." & Jahr)
Cells(1, 2).Formula = "=" & Cells(1, 1).Address
Range(Cells(2, 2), Cells(CDate("31.12." & Jahr) - CDate("01.01." & Jahr), 1)).Formula = _
"=" & Cells(1, 1).Address(False, False) & "+1"
For d = 1 To CDate("31.12." & Jahr) - CDate("01.01." & Jahr)
If WeekDay(Cells(d, 1)) = 7 Then
Range(Cells(d, 1), Cells(d, 2)).Interior.ColorIndex = 34
ElseIf WeekDay(Cells(d, 1)) = 1 Then
Range(Cells(d, 1), Cells(d, 2)).Interior.ColorIndex = 35
End If
If Not IsError(Application.Match(CLng(Cells(d, 1)), ThisWorkbook.Worksheets(1).Columns( _
2), 0)) Then
Cells(d, 1).Interior.ColorIndex = 36
Cells(d, 1).Offset(0, 1).Interior.ColorIndex = 36
Cells(d, 1).NoteText Cells(d, 1)
End If
Next d
End Sub
Private Sub FeiertageEintragen()
Dim TB As Worksheet
Dim C As Range
Dim i%
Set TB = ThisWorkbook.Worksheets("Feiertage")
i = 1
Do Until IsEmpty(TB.Cells(i, 1))
Set C = Worksheets(Month(TB.Cells(i, 2))).Cells(Day(TB.Cells(i, 2)), 1)
C.Interior.ColorIndex = 36
C.Offset(0, 1).Interior.ColorIndex = 36
C.NoteText TB.Cells(i, 1)
i = i + 1
Loop
End Sub
Private Sub BlaetterLoeschen()
Dim i%
For i = 13 To Worksheets.Count
Application.DisplayAlerts = False
Worksheets(13).Delete
Next i
End Sub

Anzeige
AW: Jahreskalender
22.01.2013 07:24:29
BlueJay
Vielen Dank für die Hilfe,
entschuldigung für die späte Rückmeldung - bin leider nicht schneller dazu gekommen.
Werde mir das Programm mal anschauen sobald ich zeit habe - Vielen Dank dafür
Gruss

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige