ich habe eine Funktion geschrieben, die auch super funktioniert:
Function num_einheiten(land As String)
' Gibt an wieviele Einheiten in dem Land stehen
Application.Volatile
Dim b As Range
Dim a As Integer
With Worksheets("Eingabe").Range("D21:D62")
Set b = .Find(land, LookIn:=xlValues)
End With
num_einheiten = WorksheetFunction.Max(Range(Cells(b.Row, 5), Cells(b.Row, 10)))
End Function
Wenn ich diese jedoch in diesem Makro aufrufe, wird der Wert dieser Funktion immer verzögert berechnet. Erst nach mehrfachem Klicken in einer anderen Zell erscheint dann plötzlich der korrekte Wert. Was mach ich beim Aufruf der Funktion falsch?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim a As Integer
Application.EnableEvents = False
'Länder befüllen in Spalte V
If Not Intersect(Target, Range("N36")) Is Nothing Then
Sheets("Eingabe").Cells(36, 17) = ""
a = WorksheetFunction.Min(num_einheiten(Range("N36")), 3)
Range("N39").Value = a
End If
Application.EnableEvents = True
End Sub
Fehlt hier eine bestimmte Zeile?
Viele Grüße und danke
Chritsian