Code ausführen?
25.11.2021 11:29:38
Andreas
habe einen funktionierenden Code, also fast....
Mein Problem ist, dass die Werte, die den Code auslösen sollen ("U3:U37") per Formel ermittelt werden.
Der Code funktioniert aber nur, wenn ich die Werte manuell in ("U3:U37") eingebe.
Was muss ich ändern, dass der Code auch ausgeführt wird, wenn dort Werte über Formeln eingetragen werden?
Vielen Dank vorab
Gruß Andreas
Option Explicit
Private Sub Worksheet_Calculate()
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RNG As Range
Dim St As Integer, En As Integer
Dim Anz As Variant, i As Integer
Dim Arr, MMax As Integer
Set RNG = Range("U3:U37") 'Bereich, wo die Eingabe überwacht wird
St = 24 'Start ab Spalte AD
En = 144 'Ende bei Spalte ES
MMax = 7 'maximaler Eingabewert
Arr = Array(0, 120, 60, 40, 30, 24, 20, 17) 'Datensatz Nr beginnen mit 0
If Not Intersect(RNG, Target) Is Nothing Then
'Prüfen auf Ganzzahl und MMax, Target Int(Target)
MsgBox "Falsche Eingabe"
Exit Sub
End Select
With Application
.ScreenUpdating = False 'verhindert das Bildschirmflackern
.DisplayAlerts = False ' Schaltet die Warnmeldung aus
End With
'Reset
Range(Cells(Target.Row, St), Cells(Target.Row, En)).UnMerge
Anz = Arr(Target)
For i = St To En Step Anz
If i + Anz > En Then Anz = En - i + 1
Cells(Target.Row, i).Resize(1, Anz).Merge
Next
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End If
End Sub