Registriert seit: 21.06.2016
Version(en): 2021
19.06.2017, 14:09
(Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2017, 14:13 von Ego.)
siehe unten
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Registriert seit: 21.06.2016
Version(en): 2021
Hallo Alexander,
schnell und dreckig
Hier einmal eine Lösung in der nur das Produkt SIE nicht berücksichtigt wird:
du kannst das alte Unterprogramm "Recursiv" durch die unten stehenden Version austauschen. Ich habe nur ein "if..." und ein "end if" eingesetzt.
Code:
Sub Recursiv(ByVal intEbene As Integer, ByVal intPos As Integer)
Dim intI As Integer
Dim intJ As Integer
For intJ = intPos To UBound(strArr)
If strArr(intJ) <> "SIE" Then
strAkt(intEbene) = strArr(intJ)
varKey = strAkt(LBound(strAkt))
For intI = LBound(strAkt) + 1 To intEbene
varKey = varKey & "&" & strAkt(intI)
Next intI
Dict(varKey) = Dict(varKey) + 1
If intEbene < UBound(strArr) And intJ < UBound(strArr) And intEbene < intAnzProd - 1 Then
Call Recursiv(intEbene + 1, intJ + 1)
End If
End If
Next intJ
Variabler wäre es, wenn ihr zusätzlich eine Liste mit nicht zu berücksichtigenden Produkten führen würdet und das Programm diese Liste berücksichtigt.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.