Feiertage in Arbeitsblätter übertragen

Hallo Leute,

habe mal wieder ein problem und weiss nicht mehr weiter.

Ausgangssituation:
Habe eine Sub geschrieben um die Feiertage zu berechnen. Dies funktioniert auch einwandfrei. Ich habe nun alle daten in eine spalte geschrieben. Die liegt im Arbeitsblatt „Einstellungen“ auf H9 - H21. Nun will ich diese Feiertage in ein anderes Arbeitsblatt schreiben.

Die Arbeitsblätter heißen 01, 02, 03,…, 12.
In dem Feld H9 unter Einstellungen will ich nun den Wert aus H9 je nach dem welchen Monat das jeweilige datum hat schreiben.
Bsp. 01.01.2007 (H9) -> Soll in Arbeitsblatt 01 Zelle E9 geschrieben werden. Diese funktioniert auch schon. Aber wenn ich jetzt als Bsp. 06.01.2007 (H10) nehme -> Soll in Arbeitsblatt 01 Zelle J9 geschrieben werden. Jedoch hab ich keine Ahnung wie ich dies definieren soll das er E + 6 = J macht. Also d. h. ich brauche etwas wo mir je nach Tag des Feiertags die Daten zwischen E und AI schreibt. Ist es möglich dies mit Hilfe eines Arrays oder dergleichen zu machen?
Stehe im Mom. echt an.

Hoffe jemand kann mir helfen.

Gruß,
Sebastian

PS:
—CODE—
Private Sub insert_days_Click()
Dim tag1 As String
Dim tag2 As String
Dim tag3 As String
Dim tag4 As String
Dim tag5 As String
Dim tag6 As String
Dim tag7 As String
Dim tag8 As String
Dim tag9 As String
Dim tag10 As String
Dim tag11 As String
Dim tag12 As String
Dim tag13 As String
Dim monat1 As String
Dim monat2 As String
Dim monat3 As String
Dim monat4 As String
Dim monat5 As String
Dim monat6 As String
Dim monat7 As String
Dim monat8 As String
Dim monat9 As String
Dim monat10 As String
Dim monat11 As String
Dim monat12 As String
Dim monat13 As String
Dim k As Integer

tag1 = Range(„AD9“).Value
tag2 = Range(„AD10“).Value
tag3 = Range(„AD11“).Value
tag4 = Range(„AD12“).Value
tag5 = Range(„AD13“).Value
tag6 = Range(„AD14“).Value
tag7 = Range(„AD15“).Value
tag8 = Range(„AD16“).Value
tag9 = Range(„AD17“).Value
tag10 = Range(„AD18“).Value
tag11 = Range(„AD19“).Value
tag12 = Range(„AD20“).Value
tag13 = Range(„AD21“).Value

monat1 = Range(„S9“).Value
monat2 = Range(„S10“).Value
monat3 = Range(„S11“).Value
monat4 = Range(„S12“).Value
monat5 = Range(„S13“).Value
monat6 = Range(„S14“).Value
monat7 = Range(„S15“).Value
monat8 = Range(„S16“).Value
monat9 = Range(„S17“).Value
monat10 = Range(„S18“).Value
monat11 = Range(„S19“).Value
monat12 = Range(„S20“).Value
monat13 = Range(„S21“).Value

For i = 1 To 12 Step 1
If (i = 10) Then
Sheets("" & i).Range(„E9:AI9“).Value = „“
End If
Next i

k = 8

If (monat1 = 10) Then
Sheets("" & monat1).Range(„E“ & k + tag1).Value = Sheets(„Einstellungen“).Range(„H“ & k + 1).Value
End If

If (monat2 = 10) Then
Sheets("" & monat2).Range(„E“ & k + tag2).Value = Sheets(„Einstellungen“).Range(„H“ & k + 1).Value
End If

If (monat3 = 10) Then
Sheets("" & monat3).Range(„E“ & k + tag3).Value = Sheets(„Einstellungen“).Range(„H“ & k + 1).Value
End If

Habe selbst eine Lösung für mein Problem gefunden.

Es gibt die Möglichkeit eine Chr-Funktion zu verwenden.
E wäre unter Chr(69) definiert.

Gruß,
Sebastian

Hier meine Lösung, wenn es jemanden interessiert.

ich bin mir sicher, dies geht auch einfacher, aber der code erfüllt meine vorraussetzung zu 100% (Bemerkung: Code ohne Errorhandler).

Gruß,
Sebastian

Private Sub insert_days_Click()
Dim tag1 As Integer
Dim tag2 As Integer
Dim tag3 As Integer
Dim tag4 As Integer
Dim tag5 As Integer
Dim tag6 As Integer
Dim tag7 As Integer
Dim tag8 As Integer
Dim tag9 As Integer
Dim tag10 As Integer
Dim tag11 As Integer
Dim tag12 As Integer
Dim tag13 As Integer
Dim monat1 As Integer
Dim monat2 As Integer
Dim monat3 As Integer
Dim monat4 As Integer
Dim monat5 As Integer
Dim monat6 As Integer
Dim monat7 As Integer
Dim monat8 As Integer
Dim monat9 As Integer
Dim monat10 As Integer
Dim monat11 As Integer
Dim monat12 As Integer
Dim monat13 As Integer

tag1 = Range(„AD9“).Value
tag2 = Range(„AD10“).Value
tag3 = Range(„AD11“).Value
tag4 = Range(„AD12“).Value
tag5 = Range(„AD13“).Value
tag6 = Range(„AD14“).Value
tag7 = Range(„AD15“).Value
tag8 = Range(„AD16“).Value
tag9 = Range(„AD17“).Value
tag10 = Range(„AD18“).Value
tag11 = Range(„AD19“).Value
tag12 = Range(„AD20“).Value
tag13 = Range(„AD21“).Value

monat1 = Range(„S9“).Value
monat2 = Range(„S10“).Value
monat3 = Range(„S11“).Value
monat4 = Range(„S12“).Value
monat5 = Range(„S13“).Value
monat6 = Range(„S14“).Value
monat7 = Range(„S15“).Value
monat8 = Range(„S16“).Value
monat9 = Range(„S17“).Value
monat10 = Range(„S18“).Value
monat11 = Range(„S19“).Value
monat12 = Range(„S20“).Value
monat13 = Range(„S21“).Value

For i = 1 To 12 Step 1
If (i = 10) Then
Sheets("" & i).Range(„E9:AI9“).Value = „“
End If
Next i
'1 Feiertag
If (monat1 21) Then
Sheets(„0“ & monat1).Range(Chr(65) & Chr(65 + tag1 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 9).Value
End If
End If
If (monat1 >= 10) Then
If (tag1 21) Then
Sheets("" & monat1).Range(Chr(65) & Chr(65 + tag1 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 9).Value
End If
End If

'2 Feiertag
If (monat2 21) Then
Sheets(„0“ & monat2).Range(Chr(65) & Chr(65 + tag2 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 10).Value
End If
End If
If (monat2 >= 10) Then
If (tag2 21) Then
Sheets("" & monat2).Range(Chr(65) & Chr(65 + tag2 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 10).Value
End If
End If

'3 Feiertag
If (monat3 21) Then
Sheets(„0“ & monat3).Range(Chr(65) & Chr(65 + tag3 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 11).Value
End If
End If

If (monat3 >= 10) Then
If (tag3 21) Then
Sheets("" & monat3).Range(Chr(65) & Chr(65 + tag3 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 11).Value
End If
End If

'4 Feiertag
If (monat4 21) Then
Sheets(„0“ & monat4).Range(Chr(65) & Chr(65 + tag4 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 12).Value
End If
End If

If (monat4 >= 10) Then
If (tag4 21) Then
Sheets("" & monat4).Range(Chr(65) & Chr(65 + tag4 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 12).Value
End If
End If

'5 Feiertag
If (monat5 21) Then
Sheets(„0“ & monat5).Range(Chr(65) & Chr(65 + tag5 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 13).Value
End If
End If

If (monat5 >= 10) Then
If (tag5 21) Then
Sheets("" & monat5).Range(Chr(65) & Chr(65 + tag5 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 13).Value
End If
End If

'6 Feiertag
If (monat6 21) Then
Sheets(„0“ & monat6).Range(Chr(65) & Chr(65 + tag6 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 14).Value
End If
End If

If (monat6 >= 10) Then
If (tag6 21) Then
Sheets("" & monat6).Range(Chr(65) & Chr(65 + tag6 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 14).Value
End If
End If

'7 Feiertag
If (monat7 21) Then
Sheets(„0“ & monat7).Range(Chr(65) & Chr(65 + tag7 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 15).Value
End If
End If

If (monat7 >= 10) Then
If (tag7 21) Then
Sheets("" & monat7).Range(Chr(65) & Chr(65 + tag7 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 15).Value
End If
End If

'8 Feiertag
If (monat8 21) Then
Sheets(„0“ & monat8).Range(Chr(65) & Chr(65 + tag8 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 16).Value
End If
End If

If (monat8 >= 10) Then
If (tag8 21) Then
Sheets("" & monat8).Range(Chr(65) & Chr(65 + tag8 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 16).Value
End If
End If

'9 Feiertag
If (monat9 21) Then
Sheets(„0“ & monat9).Range(Chr(65) & Chr(65 + tag9 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 17).Value
End If
End If

If (monat9 >= 10) Then
If (tag9 21) Then
Sheets("" & monat9).Range(Chr(65) & Chr(65 + tag9 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 17).Value
End If
End If

'10 Feiertag
If (monat10 21) Then
Sheets(„0“ & monat10).Range(Chr(65) & Chr(65 + tag10 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 18).Value
End If
End If

If (monat10 >= 10) Then
If (tag10 21) Then
Sheets("" & monat10).Range(Chr(65) & Chr(65 + tag10 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 18).Value
End If
End If

'11 Feiertag
If (monat11 21) Then
Sheets(„0“ & monat11).Range(Chr(65) & Chr(65 + tag11 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 19).Value
End If
End If

If (monat11 >= 10) Then
If (tag11 21) Then
Sheets("" & monat11).Range(Chr(65) & Chr(65 + tag11 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 19).Value
End If
End If

'12 Feiertag
If (monat12 21) Then
Sheets(„0“ & monat11).Range(Chr(65) & Chr(65 + tag12 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 20).Value
End If
End If

If (monat12 >= 10) Then
If (tag12 21) Then
Sheets("" & monat12).Range(Chr(65) & Chr(65 + tag12 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 20).Value
End If
End If

'13 Feiertag
If (Range(„H21“).Value = „“) Then
Exit Sub
End If
If (monat13 21) Then
Sheets(„0“ & monat13).Range(Chr(65) & Chr(65 + tag13 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 21).Value
End If
End If

If (monat13 >= 10) Then
If (tag13 21) Then
Sheets("" & monat13).Range(Chr(65) & Chr(65 + tag13 - 23) & „9“).Value = Sheets(„Einstellungen“).Range(„H“ & 21).Value
End If
End If
End Sub

Oh, oh, Sebastian, das ist ja ein wahres Ungetüm von Programm. Wobei es vom Aufbau her den Eindruck macht, als könne man es auf 10% des Volumens reduzieren. Wenn Du willst kannst Du mir die Datei mailen, dann helfe ich Dir dabei.

Viele Grüße
Martin