Thema Datum  Von Nutzer Rating
Antwort
29.09.2017 00:35:04 Radler
Solved
29.09.2017 16:19:09 Mackie
NotSolved
29.09.2017 21:58:57 Radler
NotSolved
29.09.2017 22:06:43 Mackie
NotSolved
01.10.2017 17:04:27 Gast9419
NotSolved
01.10.2017 18:36:30 Radler
NotSolved
01.10.2017 23:06:32 Ben
NotSolved
02.10.2017 03:08:24 Radler
NotSolved
02.10.2017 09:52:02 Gast93350
NotSolved
02.10.2017 12:50:01 Radler.
NotSolved
Rot Aufgabe mit VBA lösen
02.10.2017 15:35:57 Gast54592
NotSolved
03.10.2017 06:52:49 Radler
NotSolved
03.10.2017 15:35:51 Gast94472
NotSolved
03.10.2017 21:47:29 Radler
NotSolved
04.10.2017 10:35:52 Radler
NotSolved
06.10.2017 14:58:20 Gast38955
NotSolved
06.10.2017 21:32:15 Radler
NotSolved
08.10.2017 15:44:57 Gast58396
NotSolved
08.10.2017 20:10:13 Radler
NotSolved
09.10.2017 09:38:56 Gast65905
NotSolved
09.10.2017 14:59:02 Radler
NotSolved
11.10.2017 16:06:12 Gast22845
NotSolved
12.10.2017 07:47:21 Radler
NotSolved
12.10.2017 18:56:09 Gast73494
NotSolved

Ansicht des Beitrags:
Von:
Gast54592
Datum:
02.10.2017 15:35:57
Views:
637
Rating: Antwort:
  Ja
Thema:
Aufgabe mit VBA lösen
Moin! Also die Sub kann man problemlos umbenennen. Was du nicht umbenennen kannst ist zielmatrix. Das ist aber auch keine Sub sondern eine Variable (hier ein Array). Habe es eben nochmal getestet. Das flexible würde gehen (aber erst morgen), wie soll dann aber die Summenzeile erfasst werden? Jeden Wert eingeben lassen? Noch schnell eine Erklärung. Der Code versucht die Zahlen von unten rechts beginnend ab der größten Zahl in die Matrix einzutragen. Dabei werden immer in den Zellen geprüft, ob der Wert da rein passt (drum herum keine Zahl, in die Summe der Spalte passt es auch noch). Sollte das klappen wird die Zahl eingetragen (bei zweistelligen Zahlen erfolgt die Prüfung auf beide Zahlen und auch auf deren Eintrag). Klappt es nicht kommt ein x an die Stelle und die nächste Stelle wird geprüft. Ist die Zahl eingetragen, wird probiert die nächste Zahl einzutragen. Dabei sucht sich der Code den letzten Eintrag (könnte man auch übergeben, wird der Code noch schneller) und probiert ab da. So setzt sich alles fort. Wird ein Wert nicht gefunden, wird in den bisherigen Eintragungen zurückgegangen bis die letzte Zahl kommt. Diese wird aus der matrix rausgelöscht und die Felder, in denen die Zahl stand, als probiert markiert (mit einem x). Danach wird erneut mit der gelöschten Zahl ab der Stelle danach probiert. Das Ganze geht so lange, bis alle Zahlen drin sind oder nichts passendes gefunden wird. Du kannst mal vor die Codezeile next zahl das hier einfügen ActiveSheet.Range("B1:L11") = zielmatrix Dann dort einen Haltepunkt setzen und sowohl Excel als auch den VBE parallel öffnen. Dann den Code ausführen. Der Code hält dann an der Zeile an. Damit kannst du dir den aktuellen Aufbau der Matrix im Blatt anschauen. Dann F5 drücken und das Ergebnis nach dem nächsten Durchlauf anschauen. Usw. Damit wird evtl. die Vorgehensweise klarer. Irgendwann das aber wieder rausnehmen. Für das Ergebnis hat der Code ca. 140000 Schleifen gebraucht - Dauer zwischen 10 Sekunden (neuer Rechner) und 15 Sekunden (alter Rechner). Wie gesagt Codeänderung kommt morgen. Falls der Code noch nicht klar ist, einfach nochmal fragen. Fragen kostet ja bekanntlich nix. VG

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.09.2017 00:35:04 Radler
Solved
29.09.2017 16:19:09 Mackie
NotSolved
29.09.2017 21:58:57 Radler
NotSolved
29.09.2017 22:06:43 Mackie
NotSolved
01.10.2017 17:04:27 Gast9419
NotSolved
01.10.2017 18:36:30 Radler
NotSolved
01.10.2017 23:06:32 Ben
NotSolved
02.10.2017 03:08:24 Radler
NotSolved
02.10.2017 09:52:02 Gast93350
NotSolved
02.10.2017 12:50:01 Radler.
NotSolved
Rot Aufgabe mit VBA lösen
02.10.2017 15:35:57 Gast54592
NotSolved
03.10.2017 06:52:49 Radler
NotSolved
03.10.2017 15:35:51 Gast94472
NotSolved
03.10.2017 21:47:29 Radler
NotSolved
04.10.2017 10:35:52 Radler
NotSolved
06.10.2017 14:58:20 Gast38955
NotSolved
06.10.2017 21:32:15 Radler
NotSolved
08.10.2017 15:44:57 Gast58396
NotSolved
08.10.2017 20:10:13 Radler
NotSolved
09.10.2017 09:38:56 Gast65905
NotSolved
09.10.2017 14:59:02 Radler
NotSolved
11.10.2017 16:06:12 Gast22845
NotSolved
12.10.2017 07:47:21 Radler
NotSolved
12.10.2017 18:56:09 Gast73494
NotSolved