ich habe folgendes Problem.
Ich möchte ein Sub, das für sich auch funktioniert über ein Makro automatisch starten lassen.
Dafür prüfe ich folgende Bedingung in Zelle J70:
=WENN(I75=1;Startmakro();"nicht gestartet")
Ich habe zwei Varianten ausprobiert:
Variante 1 (funktionierende testvariante)
Public Function Startmakro() As String
Call Anzeige
Startmakro = "Gestartet."
End Function
Sub Anzeige()
MsgBox "Makro wurde gestartet"
End Sub
Es steht nach Durchlaufen der Prozedur dann in Zelle J70 "Gestartet" nachdem die Msgbox ausgegeben und mit ok weggeklickt wurde.
so weit so gut...
Bei Variante 2. steht nicht mehr in Zelle J70 Gestartet, sondern #WERT!
Dafür habe ich leider keine Erklärung.
Wie kann ich Variante so zum laufen bekommen, dass sie wie Variante 1 funktioniert ?
Code für Variante 2:
Public Function Startmakro() As String
Call Bereichskorrektur
Startmakro = "Gestartet."
End Function
Sub Bereichskorrektur()
Dim Var1 As Integer
Dim Var2 As Integer
Var1 = Range("I54")
Var2 = Range("I60")
Range("J79").Formula = "=MATCH(MIN(INDEX(B:B,$I$54,1):INDEX(B:B,$I$60,1)),B" & Var1 & ": B" & _
Var2 & ",0)+$I$54-1"
End Sub
Die Prozedur Bereichskorrektur funktioniert allein für sich, wird halt nicht im Zusammenhang mit dem Makro Startmakro korrekt ausgeführt.
Gruß JM