Guten Tag zusammen,
ich schreibe gerade für die Arbeit an einem Code, der mir automatisch eine neue Datei erstellt, dort Worksheets erstellt, diverse Formatierungen durchführt etc.
Dabei will ich unter anderem Hyperlinks einfügen, die jeweils auf das vorige bzw. nächste Tabellenblatt sowie die Dateien des Vor- und Folgemonats verweisen.
Wenn ich den Code mit F5 ausführe, kommt dabei die Fehlermeldung "Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler". Die Durchführung bleibt nach Ausführung der Hyperlinkerstellung hängen, die Hyperlinks werden noch korrekt erstellt aber dann ist schluss.
Wenn ich den Code nacheinander mit F8 ausführe, funktioniert es tadellos.
Hier mal der Ausschnitt aus dem Code zur Hyperlinkerstellung und folgenden Formatierung:
'Hyperlinks Datum einfügen
NeuesDatum = DateAdd("m", -1, Startdatum)
NextMonat = DateAdd("m", 1, Startdatum)
Dim j As String
Dim k As String
For i = 1 To Tage
j = i - 1 & "."
k = i + 1 & "."
Worksheets(i & ".").Activate
If i = 1 Then
With ActiveSheet
.Hyperlinks.Add Anchor:=.Range("A1"), Address:=Pfad & "\" & Format(NeuesDatum, "YYYY-MM") & " Tagesdokumentation" & ".xlsx"
.Hyperlinks.Add Anchor:=.Range("D1"), Address:=Pfad & "\" & Format(NextMonat, "YYYY-MM") & " Tagesdokumentation" & ".xlsx"
.Hyperlinks.Add Anchor:=.Range("D2"), Address:="", SubAddress:=k & "!A1"
End With
With ActiveSheet.Range("A1, D1")
.Font.Size = 18
.Font.ColorIndex = 1
.Font.Underline = False
.Font.Bold = True
End With
With ActiveSheet.Range("A2, D2")
.Font.Size = 14
.Font.ColorIndex = 1
.Font.Underline = False
End With
ElseIf i = Tage Then
With ActiveSheet
.Hyperlinks.Add Anchor:=.Range("A1"), Address:=Pfad & "\" & Format(NeuesDatum, "YYYY-MM") & " Tagesdokumentation" & ".xlsx"
.Hyperlinks.Add Anchor:=.Range("D1"), Address:=Pfad & "\" & Format(NextMonat, "YYYY-MM") & " Tagesdokumentation" & ".xlsx"
.Hyperlinks.Add Anchor:=.Range("A2"), Address:="", SubAddress:=j & "!A1"
End With
With ActiveSheet.Range("A1, D1")
.Font.Size = 18
.Font.ColorIndex = 1
.Font.Underline = False
.Font.Bold = True
End With
With ActiveSheet.Range("A2, D2")
.Font.Size = 14
.Font.ColorIndex = 1
.Font.Underline = False
End With
Else
With ActiveSheet
.Hyperlinks.Add Anchor:=.Range("A1"), Address:=Pfad & "\" & Format(NeuesDatum, "YYYY-MM") & " Tagesdokumentation" & ".xlsx"
.Hyperlinks.Add Anchor:=.Range("D1"), Address:=Pfad & "\" & Format(NextMonat, "YYYY-MM") & " Tagesdokumentation" & ".xlsx"
.Hyperlinks.Add Anchor:=.Range("A2"), Address:="", SubAddress:=j & "!A1"
.Hyperlinks.Add Anchor:=.Range("D2"), Address:="", SubAddress:=k & "!A1"
End With
With ActiveSheet.Range("A1, D1")
.Font.Size = 18
.Font.ColorIndex = 1
.Font.Underline = False
.Font.Bold = True
End With
With ActiveSheet.Range("A2, D2")
.Font.Size = 14
.Font.ColorIndex = 1
.Font.Underline = False
End With
End If
Next
Wie gesagt kommt der Fehler, nachdem das Programm bereits die ersten Hyperlinks erstellt hat.
Bitte habt im Hinterkopf dass ich mir das autodidaktisch beigebracht habe und dementsprechend der Code vielleicht nicht der eleganteste ist, mir geht es aber um eine konkrete Lösung zu dem Fehler ;)
Danke und Viele Grüße
Jonas
|