Public Function PRODUKT0(rngKriterium1 As Variant, Optional strKriterium1 As Variant, _
Optional rngKriterium2 As Range, Optional strKriterium2 As Variant, Optional rngKriterium3 As Range, Optional strKriterium3 As Variant, _
Optional rngKriterium4 As Range, Optional strKriterium4 As Variant, Optional rngKriterium5 As Range, Optional strKriterium5 As Variant, _
Optional rngKriterium6 As Range, Optional strKriterium6 As Variant, Optional rngKriterium7 As Range, Optional strKriterium7 As Variant, _
Optional rngKriterium8 As Range, Optional strKriterium8 As Variant, Optional rngKriterium9 As Range, Optional strKriterium9 As Variant, _
Optional rngKriterium10 As Range, Optional strKriterium10 As Variant, Optional rngKriterium11 As Range, Optional strKriterium11 As Variant, _
Optional rngKriterium12 As Range, Optional strKriterium12 As Variant, Optional rngKriterium13 As Range, Optional strKriterium13 As Variant, _
Optional rngKriterium14 As Range, Optional strKriterium14 As Variant, Optional rngKriterium15 As Range, Optional strKriterium15 As Variant, _
Optional rngKriterium16 As Range, Optional strKriterium16 As Variant, Optional rngKriterium17 As Range, Optional strKriterium17 As Variant, _
Optional rngKriterium18 As Range, Optional strKriterium18 As Variant, Optional rngKriterium19 As Range, Optional strKriterium19 As Variant, _
Optional rngKriterium20 As Range, Optional strKriterium20 As Variant, Optional rngKriterium21 As Range, Optional strKriterium21 As Variant, _
Optional rngKriterium22 As Range, Optional strKriterium22 As Variant, Optional rngKriterium23 As Range, Optional strKriterium23 As Variant, _
Optional rngKriterium24 As Range, Optional strKriterium24 As Variant, Optional rngKriterium25 As Range, Optional strKriterium25 As Variant) As Variant
' Es können bis zu 25 Kriterien mit dieser Funktion geprüft werden (betrifft nur den Reiter "Produkte", unabhängig von aktueller Produktauswahl)
' Die Funktion prüft von welcher Zelle, bzw. Spalte sie aufgerufen wurde, und weiss somit um welches Produkt es sich geht in dieser Spalte
' Hiermit können nur Rüster-unabhängige Eigenschaften geprüft werden (dh. das Produkt um das es sich geht in dieser Spalte)
'
' Zulässige Argumente dieser Funktion:
'
' Beispiel 1: =PRODUKT0($A1) Resultat: "x" oder ""
'
' Beispiel 2: =PRODUKT0($A1) ="x" Resultat: "WAHR" oder "FALSCH" ; Gleichwertig mit Beispiel 3
'
' Beispiel 3: =PRODUKT0($A1; "x") Resultat: "WAHR" oder "FALSCH" ; Gleichwertig mit Beispiel 2
'
' Beispiel 4: =WENN(PRODUKT0($A1; "x"); "x"; "?") Resultat: "x" falls "WAHR" ; "?" falls "FALSCH"
'
' Beispiel 5: =WENN(UND(PRODUKT0($A1; "x"; $A2; "x"); "x"; "?") Resultat: gleichwertig mit =WENN(UND(C9= "x"; C10 = "x"); "x"; "?")
'
' Beispiel 6: =PRODUKT0($A1; "x"; $A2; ""; $A3; "x") Resultat: Array (1 bis 3); zB. {"WAHR"/"FALSCH"/"WAHR"}
'
' Beispiel 7: =UND(PRODUKT0($A1; "x"; $A2; ""; $A3; "x")) Resultat: zB. UND({"WAHR"/"FALSCH"/"WAHR"}) ergibt "FALSCH"
'
' Beispiel 8: =ODER(PRODUKT0($A1; "x"; $A2; ""; $A3; "x")) Resultat: zB. ODER({"WAHR"/"FALSCH"/"WAHR"}) ergibt "WAHR"
Application.Volatile 'stellt sicher, dass die Funktion stets neu berechnet wird
With wsProdukte
'Zeilennummer der einzelnen Kriterien (Korrektur der Verschiebung damit zB. $A1 dem Kriterium 1 entspricht)
Dim numKriterium1 As Long, numKriterium2 As Long, numKriterium3 As Long, numKriterium4 As Long, numKriterium5 As Long, _
numKriterium6 As Long, numKriterium7 As Long, numKriterium8 As Long, numKriterium9 As Long, numKriterium10 As Long, _
numKriterium11 As Long, numKriterium12 As Long, numKriterium13 As Long, numKriterium14 As Long, numKriterium15 As Long, _
numKriterium16 As Long, numKriterium17 As Long, numKriterium18 As Long, numKriterium19 As Long, numKriterium20 As Long, _
numKriterium21 As Long, numKriterium22 As Long, numKriterium23 As Long, numKriterium24 As Long, numKriterium25 As Long
'Variablen zur Ermittlung der Zelladresse von welcher die Funktion aufgerufen wurde
Dim numZeile As Long, numSpalte As Long, strAdresse As String, numLängeSpaltenBezeichnung As Long
'Resultate in Variable speichern
Dim blnArgumente() As Boolean
'Anzahl Argumente in Variable speichern
Dim numEinzelResultate As Long
If Not numProdukteSektion1a > 0 Then
'Zeilennummer von Hilfszeile im Reiter "Produkte" in Variable speichern
numProdukteSektion1a = WorksheetFunction.Match("S1a", .Range("A:A"), 0)
End If
'Ermitteln der Zelladresse
With Application.Caller
numZeile = .Rows.Count
numSpalte = .Columns.Count
strAdresse = .Address 'zB. "$A$1"
numLängeSpaltenBezeichnung = Len(Mid(strAdresse, 2, InStr(2, strAdresse, "$", vbTextCompare) - 2))
strAdresse = Mid(strAdresse, 2, numLängeSpaltenBezeichnung) 'zB "A"
End With
numKriterium1 = rngKriterium1.Row + numProdukteSektion1a + 2
'1 Kriterium (1 Argumente, nicht abhängig von Produktwechsel)
If IsMissing(strKriterium1) Then
PRODUKT0 = .Range(strAdresse & numKriterium1).Value
Exit Function
'1 Kriterium (2 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium2) Then
ReDim blnArgumente(1 To 1) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
'2 Kriterien (4 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium3) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 2) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
'3 Kriterien (6 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium4) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 3) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
'4 Kriterien (8 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium5) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 4) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
'5 Kriterien (10 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium6) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 5) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
'6 Kriterien (12 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium7) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 6) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
'7 Kriterien (14 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium8) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 7) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
'8 Kriterien (16 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium9) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 8) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
'9 Kriterien (18 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium10) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 9) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
'10 Kriterien (20 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium11) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 10) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
'11 Kriterien (22 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium12) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 11) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
'12 Kriterien (24 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium13) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 12) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
'13 Kriterien (26 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium14) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 13) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
'14 Kriterien (28 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium15) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 14) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
'15 Kriterien (30 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium16) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 15) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
'16 Kriterien (32 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium17) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 16) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
'17 Kriterien (34 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium18) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 17) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
'18 Kriterien (36 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium19) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 18) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
'19 Kriterien (38 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium20) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 19) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
'20 Kriterien (40 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium21) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
numKriterium20 = rngKriterium20.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 20) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
blnArgumente(20) = .Range(strAdresse & numKriterium20).Value = strKriterium20
'21 Kriterien (42 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium22) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
numKriterium20 = rngKriterium20.Row + numProdukteSektion1a + 2
numKriterium21 = rngKriterium21.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 21) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
blnArgumente(20) = .Range(strAdresse & numKriterium20).Value = strKriterium20
blnArgumente(21) = .Range(strAdresse & numKriterium21).Value = strKriterium21
'22 Kriterien (44 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium23) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
numKriterium20 = rngKriterium20.Row + numProdukteSektion1a + 2
numKriterium21 = rngKriterium21.Row + numProdukteSektion1a + 2
numKriterium22 = rngKriterium22.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 22) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
blnArgumente(20) = .Range(strAdresse & numKriterium20).Value = strKriterium20
blnArgumente(21) = .Range(strAdresse & numKriterium21).Value = strKriterium21
blnArgumente(22) = .Range(strAdresse & numKriterium22).Value = strKriterium22
'23 Kriterien (46 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium24) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
numKriterium20 = rngKriterium20.Row + numProdukteSektion1a + 2
numKriterium21 = rngKriterium21.Row + numProdukteSektion1a + 2
numKriterium22 = rngKriterium22.Row + numProdukteSektion1a + 2
numKriterium23 = rngKriterium23.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 23) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
blnArgumente(20) = .Range(strAdresse & numKriterium20).Value = strKriterium20
blnArgumente(21) = .Range(strAdresse & numKriterium21).Value = strKriterium21
blnArgumente(22) = .Range(strAdresse & numKriterium22).Value = strKriterium22
blnArgumente(23) = .Range(strAdresse & numKriterium23).Value = strKriterium23
'24 Kriterien (48 Argumente, nicht abhängig von Produktwechsel)
ElseIf IsMissing(strKriterium25) Then
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
numKriterium20 = rngKriterium20.Row + numProdukteSektion1a + 2
numKriterium21 = rngKriterium21.Row + numProdukteSektion1a + 2
numKriterium22 = rngKriterium22.Row + numProdukteSektion1a + 2
numKriterium23 = rngKriterium23.Row + numProdukteSektion1a + 2
numKriterium24 = rngKriterium24.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 24) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
blnArgumente(20) = .Range(strAdresse & numKriterium20).Value = strKriterium20
blnArgumente(21) = .Range(strAdresse & numKriterium21).Value = strKriterium21
blnArgumente(22) = .Range(strAdresse & numKriterium22).Value = strKriterium22
blnArgumente(23) = .Range(strAdresse & numKriterium23).Value = strKriterium23
blnArgumente(24) = .Range(strAdresse & numKriterium24).Value = strKriterium24
'25 Kriterien (50 Argumente, nicht abhängig von Produktwechsel)
Else
numKriterium2 = rngKriterium2.Row + numProdukteSektion1a + 2
numKriterium3 = rngKriterium3.Row + numProdukteSektion1a + 2
numKriterium4 = rngKriterium4.Row + numProdukteSektion1a + 2
numKriterium5 = rngKriterium5.Row + numProdukteSektion1a + 2
numKriterium6 = rngKriterium6.Row + numProdukteSektion1a + 2
numKriterium7 = rngKriterium7.Row + numProdukteSektion1a + 2
numKriterium8 = rngKriterium8.Row + numProdukteSektion1a + 2
numKriterium9 = rngKriterium9.Row + numProdukteSektion1a + 2
numKriterium10 = rngKriterium10.Row + numProdukteSektion1a + 2
numKriterium11 = rngKriterium11.Row + numProdukteSektion1a + 2
numKriterium12 = rngKriterium12.Row + numProdukteSektion1a + 2
numKriterium13 = rngKriterium13.Row + numProdukteSektion1a + 2
numKriterium14 = rngKriterium14.Row + numProdukteSektion1a + 2
numKriterium15 = rngKriterium15.Row + numProdukteSektion1a + 2
numKriterium16 = rngKriterium16.Row + numProdukteSektion1a + 2
numKriterium17 = rngKriterium17.Row + numProdukteSektion1a + 2
numKriterium18 = rngKriterium18.Row + numProdukteSektion1a + 2
numKriterium19 = rngKriterium19.Row + numProdukteSektion1a + 2
numKriterium20 = rngKriterium20.Row + numProdukteSektion1a + 2
numKriterium21 = rngKriterium21.Row + numProdukteSektion1a + 2
numKriterium22 = rngKriterium22.Row + numProdukteSektion1a + 2
numKriterium23 = rngKriterium23.Row + numProdukteSektion1a + 2
numKriterium24 = rngKriterium24.Row + numProdukteSektion1a + 2
numKriterium25 = rngKriterium25.Row + numProdukteSektion1a + 2
ReDim blnArgumente(1 To 25) As Boolean
blnArgumente(1) = .Range(strAdresse & numKriterium1).Value = strKriterium1
blnArgumente(2) = .Range(strAdresse & numKriterium2).Value = strKriterium2
blnArgumente(3) = .Range(strAdresse & numKriterium3).Value = strKriterium3
blnArgumente(4) = .Range(strAdresse & numKriterium4).Value = strKriterium4
blnArgumente(5) = .Range(strAdresse & numKriterium5).Value = strKriterium5
blnArgumente(6) = .Range(strAdresse & numKriterium6).Value = strKriterium6
blnArgumente(7) = .Range(strAdresse & numKriterium7).Value = strKriterium7
blnArgumente(8) = .Range(strAdresse & numKriterium8).Value = strKriterium8
blnArgumente(9) = .Range(strAdresse & numKriterium9).Value = strKriterium9
blnArgumente(10) = .Range(strAdresse & numKriterium10).Value = strKriterium10
blnArgumente(11) = .Range(strAdresse & numKriterium11).Value = strKriterium11
blnArgumente(12) = .Range(strAdresse & numKriterium12).Value = strKriterium12
blnArgumente(13) = .Range(strAdresse & numKriterium13).Value = strKriterium13
blnArgumente(14) = .Range(strAdresse & numKriterium14).Value = strKriterium14
blnArgumente(15) = .Range(strAdresse & numKriterium15).Value = strKriterium15
blnArgumente(16) = .Range(strAdresse & numKriterium16).Value = strKriterium16
blnArgumente(17) = .Range(strAdresse & numKriterium17).Value = strKriterium17
blnArgumente(18) = .Range(strAdresse & numKriterium18).Value = strKriterium18
blnArgumente(19) = .Range(strAdresse & numKriterium19).Value = strKriterium19
blnArgumente(20) = .Range(strAdresse & numKriterium20).Value = strKriterium20
blnArgumente(21) = .Range(strAdresse & numKriterium21).Value = strKriterium21
blnArgumente(22) = .Range(strAdresse & numKriterium22).Value = strKriterium22
blnArgumente(23) = .Range(strAdresse & numKriterium23).Value = strKriterium23
blnArgumente(24) = .Range(strAdresse & numKriterium24).Value = strKriterium24
blnArgumente(25) = .Range(strAdresse & numKriterium25).Value = strKriterium25
End If
PRODUKT0 = blnArgumente
End With
End Function