ich bin neu hier und absoluter VBA-Anfänger. Mein Problem lässt sich aber wohl nur auf diesem Wege lösen.
Ich habe eine Bearbeitungsmatrix welche von mehreren Bearbeitern als "Rohdatei" kopiert und dann ausgefüllt wird. Für diese Datei suche ich eine Lösung die etwa wie folgt funktioniert:
Wenn in Zelle E3 der "*Beispieltext*" steht dann soll die Neuberechnung im Zellbereich J444:N444 gestoppt werden. Danach soll aber normal weitergerechnet werden.
Hierzu ist zu erwähnen, dass die Matrix sehr viele Wenn-Dann-Formeln enthält. Der Text in Zelle E3 wird aufgrund einer solchen Formel erzeugt, enthält aber unter bestimmten Bedingungen immer den Textteil "Beispieltext". Die Zellen J444 bis N444 werden ebenfalls mittels Formeln gefüllt. Das ganze soll nur auf einem bestimmten Arbeitsblatt der Matrix funktionieren. Die Bearbeiter sollen von dem automatischen Ablauf des Codes nichts mitbekommen.
Ich habe eine ähnliche VBA-Lösung gefunden und versucht sie wie folgt zu modifizieren:
Private Sub Worksheet_SelectChange(ByVal Target As Range)
Sub Festwerte()
Application.Calculation=xlCalculationManual
Dim Zelle as Range
For Each Zelle in Range("J444:N444")
If Range ("E3") = "*Beispieltext*" Then
Zelle = Zelle.Value
End If
Next Zelle
Application.Calculation = xlCalculationAutomatic
End Sub
End Sub
Das hat nicht funktioniert. Hierbei kommt eine Fehlermeldung, wonach ein "End Sub
" gefordert wird. Ich habe es auch schon mit mehreren unterschiedlichen Prozeduren aus dem Bereich Worksheet (z.B. Calculate) versucht. Es kamen jedoch immer Fehlermeldungen (z.B. Listenfehler), welche ich mit meinem beschränkten VBA-Wissen versucht habe zu korrigieren, was jedesmal fehlschlug.Ich hoffe ich habe eine einigemaßen nachvollziehbare Beschreibung meines Problems gegeben. Vielleicht kann mir jemand bei der Lösung helfen.
Hierfür schon einmal vielen Dank
Viele Grüße HP