ich habe schon recherchiert und versucht die Logik dahinter zu verstehen. Aber meine mangelnden Kenntnise über VBA reichen leider nicht aus, um die Lösung selbst zu finden.
Ich habe zwei Worksheet Changes, die in der gleichen Arbeitsmappe unbedingt unabhängig voneinander funktionieren müssen, da es sonst durch ein drittes Worksheet Change in einer anderen Arbeitsmappe zu einem Loop kommen würde.
Private Sub Worksheet_Change(ByVal Target As Range)
If .Address > "$D$5" Then Exit Sub
Sheets("Berechnung").Range("O2") = CStr(Sheets("Entwicklungsbericht").Range("D5"))
End With
End Sub
Dieser überträgt eine ID in eine Berechnung ein, wodurch Daten vorausgefüllt werden können, die dann auch folgende Funktion aufruft, da in A8 und A10 Daten eingetragen werden.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Kopf1 As String, Kopf2 As String, Datums As String
With Target
If .Address > "$A$8" And .Address > "$A$10" Then Exit Sub
Datums = Date
Sheets("Entwicklungsbericht").Range("B35") = Datums
Sheets("Entwicklungsbericht").Range("A50") = Datums
Kopf1 = "Entwicklungsbericht: " & CStr(Sheets("Entwicklungsbericht").Range("A8")) & ", *" & CStr(Sheets("Entwicklungsbericht").Range("A10")) & Chr(13) & "vom: " & CStr(Sheets("Entwicklungsbericht").Range("B35")) & " - &P/&N"
Kopf2 = "Entwicklungsbericht: " & CStr(Sheets("Entwicklungsbericht").Range("A8")) & ", *" & CStr(Sheets("Entwicklungsbericht").Range("A10")) & Chr(13) & "vom: " & CStr(Sheets("Entwicklungsbericht").Range("B35")) & ", Beratungshinweise"
Sheets("Beratungshinweise").PageSetup.RightHeader = Kopf2
Sheets("Entwicklungsbericht").PageSetup.RightHeader = Kopf1
End With
End Sub
Gleichzeitig soll aber auch die Möglichkeit bestehen ohne ID das Datenblatt auszufüllen, daher fällt mir keine andere Lösung ein.
Könnte mir jemand eine Möglichkeit nennen, dies zu kombinieren?