Clever-Excel-Forum

Normale Version: Verkettung aus Kombinationen mehrere Listen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallöchen,

nur mal ein Hinweis am Rande. Der Punkt bei der Speicherbetrachtung ist nicht die reichliche RAM-Größe, sondern die RAM-Größe, die Excel nutzen kann. Da liegen die neueren 32-bit-Version je nachdem bei 2-3 GB. Und es geht nicht nur um RAM, es gibt auch noch ein paar andere Speicherstellen, wo der Schuh drücken kann.

Der andere Punkt ist eventuell auch mal die Verwendung anderer Programmiersprachen, die nicht so freizügig mit den Variablendeklarationen umgehen. Könnte darüber hinaus auch mal passieren, dass Microsoft seine Freizügigkeit bei VBA aufgibt Sad

Und um mal auf den Code im speziellen zu kommen - man deckt den einen oder anderen Fehler vielleicht schneller auf, wenn man z.B. eine Variable falsch einsetzt und versehentlich einen Multiplikator mit Text füllt ...

Da ist es gut, wenn man schon etwas geübt im Umgang damit ist.
Danke an alle für die rasche Antwort,
leider bin ich nicht so rasch und da ich mich entschlossen habe die Lösung mittels einer Makro umzusetzen musste ich mich erstmals in vba einlesen :19: .
Eure Lösungen waren dabei sehr hilfreich, also danke an alle.
Die Aufgabenstellung hat sich etwas abgeändert und somit auch die Lösung.

Hier meine Umsetzung mit etwas mehr features (die ihr eigentlich nicht verstehen müsst :19: ).

MfG,
Philzo
(28.04.2017, 20:24)schauan schrieb: [ -> ]Der andere Punkt ist eventuell auch mal die Verwendung anderer Programmiersprachen, die nicht so freizügig mit den Variablendeklarationen umgehen. Könnte darüber hinaus auch mal passieren, dass Microsoft seine Freizügigkeit bei VBA aufgibt :(
Bei letzterem vermute ich ein ganz klares Nein. Denn MS wird sich das einfache Handling

a = [A1:C99999]
... irgendwelche Programmierschritte ....
[A1:C99999] = a

(alles Variant, also Quelle und Ziel) nicht nehmen lassen.
Woher stammt 'Prüfling1-1' usw. ?

Code:
Sub M_snb()
   sn = Tabelle1.Cells(3, 1).CurrentRegion
   ReDim sp(7 * UBound(sn) ^ 2, 0)
  
   y = 0
   For j = 2 To UBound(sn)
      If sn(j, 3) = "" Then Exit For
      For jj = 2 To UBound(sn)
        If sn(jj, 4) = "" Then Exit For
        For jjj = 1 To 7
          sp(y, 0) = sn(j, 3) & ">" & sn(jj, 4) & ">Prüfling1_" & jjj
          y = y + 1
        Next
      Next
   Next

   Tabelle3.Cells(4, 5).Resize(y) = sp
End Sub
Alternativ Code:


Code:
Sub M_snb()
   With Tabelle1.Cells(3, 1).CurrentRegion.offset(1)
        sn = .Columns(3).SpecialCells(2)
        sp = .Columns(4).SpecialCells(2)
   End With
   ReDim sq(7 * UBound(sn) * UBound(sp), 0)
   
   y = 0
   For Each it In sn
      For Each it1 In sp
        For j = 1 To 7
          sq(y, 0) = it & ">" & it1 & ">Prüfling1_" & j
          y = y + 1
        Next
      Next
   Next

   Tabelle3.Cells(4, 5).Resize(y) = sq
End Sub
Seiten: 1 2