Lulle schrieb am 30.11.2010 13:45:40:
Hallo,
Ich möchte einen kleinen Schichtplan schreiben – nur ich weiß nicht wie….
Den Kalender habe ich schon fertig gemacht. Die Feiertage und das Wochenende rot u.s.w.
Viel habe ich im Internet kopiert und umgearbeitet. Das Problem ist, dass ich noch die Schichten einbauen muss, aber nur Tags..
Die Schichten sollen unter dem Datum stehen, also so
Mi Do Fr Sa
01 02 03 04
C B A D .............
Und dann gehen die Schichten wieder von vorne los…. (Die Schichten von 12/2010)
Sub Schicht()
Dim intfrage As Integer
Dim monat As Integer
Dim Tag As Integer
intfrage = InputBox("Welches Jahr?")
monat = InputBox("Welcher Monat?")
Range("a:a").EntireColumn.ColumnWidth = 11
Range("b2:af20").EntireColumn.ColumnWidth = 3
For Tag = 1 To Day(DateSerial(intfrage, monat + 1, 0))
Cells(6, Tag + 1) = Format(DateSerial(intfrage, monat, Tag), "ddd DD")
Next Tag
End Sub
Das ist nur ein Teil des Codes, aber ich denke, dass reicht - oder?
Hoffentlich versteht ihr das ;)……..
Jedenfalls: VIELEN DANK FÜR DIE HILFE!!!!!!
Grüße,
Lulle
Na ja, ehrlich gesagt weiß ich nicht ob ichg das richtig verstanden habe!
Sub Schicht()
Dim dJahr As Integer
Dim dMonat As Integer
Dim dTag As Integer
Dim LetzteZelle As String
dJahr = Application.InputBox(Prompt:="Welches Jahr?", Title:="Datum abfragen...", Type:=1)
dMonat = Application.InputBox(Prompt:="Welcher Monat?", Title:="Datum abfragen...", Type:=1)
Range("$A:$A").EntireColumn.ColumnWidth = 11
Range("$B$2:$AF$20").EntireColumn.ColumnWidth = 3
For dTag = 1 To Day(DateSerial(dJahr, dMonat + 1, 0))
Cells(6, dTag + 1) = Format(DateSerial(dJahr, dMonat, dTag), "ddd dd")
If dTag + 1 = 2 Then
Cells(7, dTag + 1) = "C"
Else
Select Case Cells(7, dTag)
Case "C"
Cells(7, dTag + 1) = "B"
Case "B"
Cells(7, dTag + 1) = "A"
Case "A"
Cells(7, dTag + 1) = "D"
Case "D"
Cells(7, dTag + 1) = "C"
End Select
End If
Next dTag
End Sub
Severus |