Hallo XLKing,
vielen Dank für dein Vorschlag.
Ich habe mal versucht, die Funktion trotzdem im Modul zu behalten, weil ich bei Änderungen nicht immer ins andere Blatt springen muss.
Ich habe die Application.Run Befehl angewandt und es funktioniert soweit:
Sub Tes1_Klicken()
Dim BerechnungRoh As Worksheet
Dim ws As Worksheet
Dim ParameterSheet As Worksheet
Dim STUni As Worksheet
Dim myRange As Range
Dim myRangeAbs As Range
Dim myRangeRel As Range
Dim StartTime As Double
Dim MinutesElapsed As String
Dim P As Variant
Dim Params2 As String
Dim ParameterRicRow As Long
Do
.....
......
Ppruefungen = Split(ParameterSheet.Rows(ParameterRicRow).Columns("I").Value, ",")
'String, der alle variablen enthält
'Params2 = "ParameterSheet, ParameterRicRow, myRange, myRangeAbs, myRangeRel, P01, P02, P03, P04, P05, P06, P07, ws"
'Hier werden die Funktionen gestartet
For Each P In Ppruefungen
Application.Run "Parameter_" & P, ParameterSheet, ParameterRicRow, myRange, myRangeAbs, myRangeRel, P01, P02, P03, P04, P05, P06, P07, ws
Next P
i = i + 1
Loop Until i = 4
Function Parameter_P01(ParameterSheet, ParameterRicRow, myRange, myRangeAbs, myRangeRel, P01, P02, P03, P04, P05, P06, P07, ws)
.......
End Function
Function Parameter_P02(ParameterSheet, ParameterRicRow, myRange, myRangeAbs, myRangeRel, P01, P02, P03, P04, P05, P06, P07, ws)
...
End Function
Ich habe auch versucht, die variablen (ParameterSheet, ParameterRicRow, myRange, myRangeAbs, myRangeRel, P01, P02, P03, P04, P05, P06, P07, ws) ins Params2 zu packen und dann Application.Run zu starten in der Form: Application.Run "Parameter_" & P, Params2. Das Problem war, dass die die Variablen in der () in Params2 nicht an die Funktionen weitergeleitet wurden. Das fand ich komisch.
Trotzdem Danke für die Hiulfe
|