Formel für das Kombinieren von Zahlen aus 2 Tabellen
#91
Hallo André,

entschuldige, bitte vielmals. Das war ein Fehler meinerseits. Ich habe einen Fehler in meinen Formellen in BA6:BE11 festgestellt. Ich habe ihn bereits korrigiert.
Tatsächlich gibt es in diesem Fall keine möglichen Zahlenkombinationen.

Die korrigierte Datei befindet sich im Anhang.

Ich werde das Marko noch ein wenig  testen um zu 100% sicher zu gehen, das es richtig funktioniert, aber schon jetzt kann ich sagen das ich begeistert bin, weil es, wie es scheint, wunderbar funktioniert.

Liebe Grüße,
Cassandra


Angehängte Dateien
.xlsm   Kombinationen_Almost final 2b - korrigierte Formelln.xlsm (Größe: 119,39 KB / Downloads: 4)
Antworten Top
#92
Warum keine Bedingte Formatierung ?

Rule: O6<>U6 für range $O$6:$S$19
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#93
Hallo snb,

danke für den Hinweis, aber ich habe bereits eine Bedingte Formatierung in diesem Zellenbereich.

Viele Grüße,
Cassandra

Hallo André,

also ich muss zugeben, ich bin fast sprachlos, wie ausnahmslos gut  das Makro funktioniert. Du scheinst wirklich ein VBA- Zauberer zu sein ;) Vielen herzlichen Dank für dein Durchhaltevermögen und Engagement <3 Kurz gesagt, wundervolle Arbeit.

Ich weiß nicht ob Du dich vielleicht noch daran erinnerst, aber einige Zeit zuvor (Beitrag #59) habe ich einen Vorschlag gemacht mit einem neunen Layout in dem Arbeitsblatt „Alt“, so dass im Prinzip die beiden Tabellen BA6:BE:11 und BA28:BE33 überflüssig gemacht würden im dem Sinne, dass sie den Vergleich zwischen nur jeweils zwei SETkombinationen ermöglichen und im neuen Layout die Idee ist, zeitgleich, mehrere SETkombinationen aus Tab. 1 mit mehreren SETkombinationen aus Tab. 2 sozusagen „im Hintergrund“ zu vergleichen und dann sofort die Ergebnisse (also die ZAHLENkombinaitonen) anzuzeigen. Neben den Zahlenkombinationen würden dann auch die beiden SETkombinationen angezeigt aus denen die Zahlenkombination gebildet wurde. Du hast damals angedeutet das so etwas zusätzlich programmiert würden müsste, deshalb ist meine Frage und gleichzeitig höfliche Bitte, würde das gehen? :)   

Ich habe jetzt nochmal die Datei mit dem neuen Layout hier hochgeladen. Ich wollte es eigentlich in „Kombinationen_Almost final 2b - korrigierte Formelln“ einbringen, aber da ich mehr Zellen auf der rechten Seite brauche und sich eben dort das Makro die Zahlenkombinationen zusammenzählt, wollte ich nicht riskieren, das ich etwas kaputt mache. Sollte es aber so gehen, das man nur vor die BH Spalte neue Spalten einfügen muss, und das Makro das „märkt“, dann würde ich das lieben gern für Dich erledigen.

Liebe Grüße,
Cassandra


Angehängte Dateien
.xlsx   Kombinationen — neues Layout.xlsx (Größe: 152,73 KB / Downloads: 5)
.xlsm   Kombinationen_Almost final 2b - korrigierte Formelln —.xlsm (Größe: 117,82 KB / Downloads: 3)
Antworten Top
#94
Dazu brauchst du keine Tabellen weder Formeln.
Verzichte immer (ja, immer !) auf Verbundene Zellen.
Und verzichte auf Objectvariabelen die eine Range referenzieren: man sollte stattt dessen 'Arrays' verwenden.
Und ie grüne Bedingte Formatierung: '=countif($O$27:$S$40;O6)=0' für Range("$O$6:$S$19")
In der letzte Formatierung:

Code:
Sub M_snb()
  sn = Range("O6:S19")
  sp = Range("O27:S40")
  sn2 = Application.Index(sn, Application.Transpose(Array(1, 2, 5, 9, 12)), Array(1, 2, 3, 4, 5))
  sp2 = Application.Index(sp, Application.Transpose(Array(1, 3, 4, 7, 10)), Array(1, 2, 3, 4, 5))
 
  For j = 1 To UBound(sp)
    c00 = c00 & "_" & Join(Application.Index(sp, j), "_")
    c01 = c01 & "_" & Join(Application.Index(sn, j), "_")
  Next
 
  For j = 1 To 5
    c02 = c02 & " " & Join(Application.Index(sp2, j), " ") & " "
  Next
   
  For j = 1 To 5
    For jj = 1 To 5
        If InStr(c00 & "_", "_" & sn2(j, jj) & "_") = 0 Then c06 = c06 & " " & sn2(j, jj)
        If InStr(c01 & "_", "_" & sp2(j, jj) & "_") = 0 Then c06 = c06 & " " & sp2(j, jj)
       
        If InStr(c02, " " & sn2(j, jj) & " ") <> 0 And sn2(j, jj) <> "" Then c04 = c04 & " " & sn2(j, jj)
    Next
  Next
 
  Cells(4, 67).Resize(2, 12).ClearContents
  For j = 1 To 2
    sq = Split(Trim(c04) & IIf(j = 2, c06, ""))
    Cells(200, 1).Resize(UBound(sq) + 1) = Application.Transpose(sq)
    Cells(200, 1).CurrentRegion.Sort Cells(200, 1), , , , , , , xlNo
    If j = 1 Then st = Cells(200, 1).CurrentRegion
    If j = 2 Then sq = Cells(200, 1).CurrentRegion
   
    If j = 1 Then Cells(4, 67).Resize(, UBound(st)) = Application.Transpose(st)
    If j = 2 Then Cells(5, 67).Resize(, UBound(sq)) = Application.Transpose(sq)
  Next
  Cells(200, 1).CurrentRegion.ClearContents
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#95
Und nun auch die Kombinationen drin 
Starte Makro M_snb im Makromodule des Arbeitsblattes.
Ergebnisse in Spalten BO:CE.


Angehängte Dateien
.xlsb   __Kombinationen neues Layout.xlsb (Größe: 42,88 KB / Downloads: 3)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • PIVPQ
Antworten Top
#96
Hallo snb,

als aller erstes vielen Dank das Du mitmachst. Jede Hilfe wird gebraucht und deshalb freue ich mich sehr über Deine Mitarbeit.

Um ehrlich zu sein bin ich, mit dem was du vorschlägst, ein wenig überfordert. Zuerst (Beitrag #92)
snb schrieb:Warum keine Bedingte Formatierung ?
Rule: O6<>U6 für range $O$6:$S$19

ich dachte du wolltest einen simplen Tipp abgeben, mit der Bedingten Formatierung im Zellenbereich O6:S19 und O27:S40, was ich nicht ganz nachvollziehen konnte, weil ich dort bereits eine Bedingte Formatierung nutze.

Dann Dein (Beitrag#94):
snb schrieb:Dazu brauchst du keine Tabellen weder Formeln.

Wozu genau brauche ich keine Tabellen? Es tut mir leid, aber ich weiß nicht worauf du hinaus willst.

snb schrieb:Verzichte immer (ja, immer !) auf Verbundene Zellen.

Ok, ich kann das akzeptieren, weiß aber nicht welcher Sinn dahinter steckt.

snb schrieb:Und verzichte auf Objectvariabelen die eine Range referenzieren: man sollte stattt dessen 'Arrays' verwenden.

Hier tut es mir erneut leid, aber leider weiß ich nicht was „Objectvariabelen“ und 'Arrays' bedeuten.

snb schrieb:Und ie grüne Bedingte Formatierung: '=countif($O$27:$S$40;O6)=0' für Range("$O$6:$S$19")
In der letzte Formatierung:

Ich nehme an, das sollte ich anstatt meiner Bedingten Formatierung verwenden :) Danke für die Formell. Leider bin ich bei dem Code komplett raus, bzw. weiß gar nichts über VBA und kann deshalb nicht beurteilen was dieser Code bewirken soll. Ich weiss auch nicht ob dieser Code irgendwie mit der Formell in Verbindung steht.

Jetzt zum Beitrag #95
snb schrieb:Und nun auch die Kombinationen drin

Also mit anderen Worten (das ist meine Annahme) wurde der Vorherige Code so ergänzt, das er im Prinzip dasselbe tun soll, wie das Marko von schauan nur halt eben für mehrere SETkombinaitonen gleichzeitig?

snb schrieb:Starte Makro M_snb im Makromodule des Arbeitsblattes.
Ergebnisse in Spalten BO:CE.

Ich habe es gestartet und dabei muss ein Paar Sachen festhalten. Leider sind die Ergebnisse also sie ZAHLENkombinationen zum Teil falsch, denn bei den beiden SETkombinationen sollten dieser hier rauskommen:
1, 11, 24, 30, 31
1, 8, 11, 30, 31, 45

anstatt

1, 11, 24, 30, 31
1, 8, 11, 15, 24, 30, 31, 45

Also, die erste ZAHLENkombination ist richtig (das ist schon mal super! :)), aber leider enthält die zweite die 15 und 24, und das sollte sie nicht.

Zum anderen erscheinen in CA5:CE124, also im Bereich wo eigentlich die SETkombinationen aus Tabelle 1 erscheinen sollen mit Hilfe welcher die ZAHLENkombination erschaffen wurde,  Zahlen die unbrauchbar sind und ich nicht ganz weiß, woher sie stammen. Interessanterweise, erscheint in den Spalten CH bis CM nichts. 

Die Datei mit dem Ergebnis lade ich auch hoch (ich weiß nicht, vielleicht brauchst Du sie) 

Viele Grüße,
Cassandra


Angehängte Dateien
.xlsb   __Kombinationen neues Layout - falsche Ergebnise.xlsb (Größe: 44,32 KB / Downloads: 1)
Antworten Top
#97
Wenn du gar keine Ahnung von VBA hast hört es hier auf.
Dann ist diese Aufgabe für dich viel, viel zu komplex.
Sag mal deinem Chef ein Dienstleister zu beauftragen.
Es soll doch nicht deine Arbeit sein andere Leuten zu fragen diene Arbeit um sonst zu machen ?

Für andere Leute hier im Forum kann mein Beipsiel vielleicht nützlich sein; z.B wie die Code ohne hingreifen auf dem Arbeitsblatt, nur im Arbeitsspeicher laufen kann.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • PIVPQ
Antworten Top
#98
@snb

snb schrieb:Wenn du gar keine Ahnung von VBA hast hört es hier auf.

Nun, anscheinend habe ich genauso viel Ahnung von VBA wie Du von gutem Benehmen und Manieren.

snb schrieb:Sag mal deinem Chef ein Dienstleister zu beauftragen.
Es soll doch nicht deine Arbeit sein andere Leuten zu fragen diene Arbeit um sonst zu machen ?

Also das finde ich einfach nur ekelhaft. Du kennst mich nicht, weist absolut nichts über mich, aber das hält dich nicht davon ab aus dem Finger gesaugte, diffamierende Suggestionen zu erläutern. Einfach nur beschämend ist das.
Antworten Top
#99
Hallöchen,

Arrays und Collections hatte ich auch schon erwähnt, aber die Nichtverwendung mit der Sichtbarkeit bzw. Nachvollziehbarkeit der einzelnen Schritte und deren Ergebnissen begründet Smile

Beim neuen Layout hab ich erst mal keinen Plan zu den Bereichen AM:AY und CA:CM. Soll das in AM:AY ein Log werden was Du alles probierst? Das hat dann ja bis auf die aktuelle Auswahl keinerlei Bezug zu den Ergebnissen. Warum CA:CM dann was doppelt da steht erschließt sich mir auch nicht. Soll hier 55 x das gleiche stehen wenn eine Kombination 55 Ergebnisse hat? Was gerade gewählt wurde sieht man doch auch schon in den 4 kleinen Tabellen ...

Die Makros würden übrigens auch schon nicht funktionieren, weil Du die 4 kleinen Tabellen nach rechts versetzt hast.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • casandra88
Antworten Top
Hallo André,

schauan schrieb:Soll das in AM:AY ein Log werden was Du alles probierst?

Ja, da würden alle SETkombinationen stehen, die ich miteinander vergleichen wöllte.

schauan schrieb:Warum CA:CM dann was doppelt da steht erschließt sich mir auch nicht. *Soll hier 55 x das gleiche stehen wenn eine Kombination 55 Ergebnisse hat?

*Ja, ganz genau.

schauan schrieb:Was gerade gewählt wurde sieht man doch auch schon in den 4 kleinen Tabellen ...

Ich nähme an damit meinst Du BB6:BF11, BI6:BM11, BB27:BF32 und BI27:BM32. Diese Tabellen sollen in Zukunft entfallen (deshalb habe ich sie in der jetzt hochgeladenen Dateiversion gelöscht, ich dachte das sie vielleicht noch irgendwie nützlich seinen könnten).

Ich habe die Datei auch jetzt mit mehreren Beispielen was die SETkombinationen angeht ergänzt, damit es vielleicht dadurch ein wenig verständlicher wird.

Ich habe die SETkombination 1, 2, 3, 5, 14 aus Tab.1 und die SETkombination 1, 2, 5, 7, 10 aus Tab. 2 hinzugefügt. Daraus lassen sich weitere KombinationsPAARE bilden, und zwar erstmal die beiden zusammen, also (1, 2, 3, 5, 14 + 1, 2, 5, 7, 10) und zum zweiten ein KombinationsPAAR mit der schon vorher vorhandenen SETkombination 1, 2, 5, 9, 12 (Tab.1) also als Paar mit der 1, 2, 5, 7, 10 (Tab.2).

Die SETkombinationen 1, 2, 3, 5, 14 (Tab. 1) und 1, 3, 4, 7, 10 (Tab.2) können kein Paar bilden, deshalb werden sie auch nicht in BZ:CL zusammen angezeigt.

Ich habe die 4 kleinen Tabellen (BB6:BF11, BI6:BM11, BB27:BF32 und BI27:BM32) zunächst mal drin gelassen, weil ich  dachte, dass man das Makro so modifizieren kann, das es automatisch die erste SETkombination aus Tab. 1 (AM:AR) in den zwei oberen kleinen Tabellen einfügt und gleichzeitig die erste SETkombination aus Tab. 2 (AT:AY) in die beiden unteren kleinen Tabellen einfügt und dann vergleicht ob die zwei SETkombinationen ein Paar bilden können und daraus resultierende ZAHLENkombinationen.
Als nächstes würde die SETkombination aus Tab. 1 in den zwei oberen kleinen Tabellen bleiben, aber die SETkombination aus Tab. 2 würde sich ändern auf die darauffolgende (also in der Richtung nach unten) bis das Makro  alle SETkombinationen aus Tab. 2 mit der ersten SETkombination aus Tab. 1 verglichen hat.
Danach würde die zweite SETkombination aus Tab. 1 drankommen und hier würde das Vergleichen mit allem SETkombinationen aus Tab. 2 von vorne losgehen. Der ganze Vorgang würde dann vorbei sein wenn die letzte SETkombination aus Tab. 1 mit allen SETkombinationen aus Tab. 2 vergleichen wurden.

Liebe Grüße,
Cassandra


Angehängte Dateien
.xlsx   Kombinationen — neues Layout 2.0.xlsx (Größe: 146,72 KB / Downloads: 1)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste