| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Turbocad |
Autor
|
Thema: Stückliste sortieren (2299 / mal gelesen)
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 28. Jan. 2016 19:23 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe mich mal an einem Beispiel aus dem Netz versucht um die schon leicht modifiziete Form der Stückliste zu sortieren. Je nach dem wie die Daten angeordnet sind funktioniert es teilweise. Irgendwo ist noch der Wurm drin :-)) Wenn jemand mal schauen möchte. UUps: im Bild "vorher" fehlte einmal die Stärke 19mm Schöne Grüße
------------------ - Heimwerker [Diese Nachricht wurde von Leopoldi am 28. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 29. Jan. 2016 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
Guten Morgen Ulrich, warum möchtest Du das über ein Makro machen und nicht über "Daten -- sortieren"? Hier ein Makro, das ich einfach aufgezeichnet habe:
Code:
Sub Makro3() ' Cells.Select ActiveWorkbook.Worksheets("Georg__Stcklist").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Georg__Stcklist").Sort.SortFields.Add Key:=Range( _ "D2:D8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Georg__Stcklist").Sort .SetRange Range("A1:F8") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
In der Abbildung sagst DU allerdings, dass Du Zeilen anfügen möchtest. Ist das Anfügen oder das Sortieren das Problem? Beste Grüße Hermann-Josef [Diese Nachricht wurde von jossie am 29. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 29. Jan. 2016 11:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Herman-Josef ja das Umsortieren der Spalte habe ich auch schon per Makroaufzeichnung gemacht. Hab dein Makro zuerst nicht zum Laufen bekommen. Das lag aber am doppelten Unterstrich im Tabellennamen. Der VBA Code fasst jedoch Zeilen mit gleicher "Bezeichnung & Länge & Breite & Stärke" zusammen und erhöht dann die Stückzahl um 1 und fügt die ObjectID hinzu. Die "Duplikatzeile" wird dann gelöscht. Im Prinzip funktioniert die Bearbeitung, Stückzahl erhöhen und ObjektID anfügen und löschen der erfassten Zeile. -Allerdings stimmen die Schleifenbedingungen nicht. Die Vergleichzeile läuft von oben nach unten - die zu vergleichenden Zeilen von unten nach oben. Schöne Grüße
Anm.: Das solche "Peanuts" wie eine sortierte Stückliste erstellen nicht zum TC Standard gehören ist an sich unfassbar. Das braucht jeder Hand- und Heimwerker. Selbst die Freiformkünstler brauchen Rohlingsmaße.
------------------ - Heimwerker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 29. Jan. 2016 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
Ach so, da hatte ich Dich falsch verstanden. Es geht offenbar darum, die Stückliste zu bereinigen, d.h. gleichartige Stücke zusammenzufassen. Ob ich Deinen VBA-Code verstehe, muss ich mal sehen. Ich selbst würde die eleganten VBA-Möglichkeiten nicht nutzen sondern eher nach FORTRAN-Schema programmieren. Aber was ist in Deinem Beispiel mit ObjektID = 3 passiert? Die 19mm Brettstärke kommen da nicht mehr vor??? Hermann-Josef [Diese Nachricht wurde von jossie am 29. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 29. Jan. 2016 15:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Hermann-Josef ja da habe ich die falschen Screenshoots zusammen gesetzt. Das FORTRAN-Schema sagt mir jetzt nichts. Es geht aber wohl auch über das Erstellen einer neuen PIVOT-Tabelle. ------------------ - Heimwerker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 29. Jan. 2016 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
Hallo Ulrich, anbei eine EXCEL-Tabelle mit Makros. Du musst nur .txt in .xlsm umändern. Bei mir hat das Makro funktioniert und die korrekt bereinigte Stückliste ergeben. Wenn Du meinen Quelltext mit dem Deinen vergleichst, dann wirst Du sofort sehen, was ich mit FORTRAN-Schema gemeint hatte. Beste Grüße Hermann-Josef PS: Eigentlich sollte man Gleitkommagrößen nicht auf Gleichheit prüfen. Das könnte ins Auge gehen. Besser wäre eine Vergleich, dass die Differenz unter einer vorgegebenen Schranke liegt. Soll das Makro auf verschiedenen Tabellen verfügbar sein, so sollte es in PERSONL.xls abgelegt werden. Man müsste dann zu Anfang nach der EXCEL-Tabelle fragen, die bearbeitet werden soll. Diese Dinge könnte ich bei Bedarf nachlegen. Aber so ging's halt schneller. [Diese Nachricht wurde von jossie am 29. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 29. Jan. 2016 19:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Franz-Josef, Wahnsinn - das klappt ja super. Ich habe nochmal eine .txt (.xlsm) angefügt , mit dem was noch zu tun ist. Schöne Grüße ------------------ - Heimwerker [Diese Nachricht wurde von Leopoldi am 29. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 29. Jan. 2016 21:23 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 29. Jan. 2016 22:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Hermann-Josef, der Anhang zeigt nur wie ich die Datei noch umgestalten möchte um einen ordentlichen Ausdruck zu erhalten. Im zweiten Tabellenblatt ist das Original wie es bei meinem Projekt vom TC-Makro erstellt wird. Schönen Gruß ------------------ - Heimwerker [Diese Nachricht wurde von Leopoldi am 29. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 30. Jan. 2016 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 30. Jan. 2016 16:41 <-- editieren / zitieren --> Unities abgeben:
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 30. Jan. 2016 16:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Hermann-Josef, mir fällt gerade noch ein das ich auch Schwierigkeiten hatte deine Datei zu öffnen. Wahrscheinlich wegen der Makros. Ich habe die Datei in Excel unter neuem Namen gespeichert und dann geöffnet. Dann klappte es auch mit Makros. ------------------ - Heimwerker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 30. Jan. 2016 19:08 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 30. Jan. 2016 19:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Hermann-Josef, zu Pkt. 5) mike (devo) ist ja unser Foren-Makro-Supervisor ;-). Mike kann den VBA-Code evtl. in dem Makro "Stklist.tcr" für Turbocad einfügen/anhängen, so dass gleich eine sortierte Stückliste das Licht der Weltöffentlichkeit erblickt :-)). Aber evtl. kannst du das ja auch? Ich weiß jetzt auch was du mit Fortran kompatibel meinst. Das sind halt die Grundlagen. Der neue "Code" basiert m.E. auf der objektorientierten Sprache und ist in den Bibliotheken von "MS- Netframe Work" zu finden.
------------------ - Heimwerker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 30. Jan. 2016 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für Leopoldi
Hi Uli - nix Supervisor und auch nicht als solcher nächste Woche verkleidet. Zum Arbeiten brauche ich eigentlich mehrere Stücklisten: Die Grundliste aus dem Cad, die so wie sie ist bis zum Schluß auch erhalten werden muß, da bei allen Konsolidierungsvorgängen sowohl die ObjektID als auch der Infostring wichtig sind. Für den Zuschnitt, die Materialbestellung oder vorher die Kalkulation sind die Gesamtmengen wichtig, wenn es aber an das einzelne Teil geht ist bespielsweise selbst bei gleichem Maß die Lage in der Konstruktion wichtig, ebenso ob linkes oder rechtes Teil (relevant für Kantenbearbeitung und/oder Bohrbild etc.). Diese Infos sind in der Konsolidierten Stcklist nicht mehr enthalten. Was ich als nächstes angehe ist die Generierung der Stückliste in Ruby, das fehlende Puzzleteil - die abfrage der Objekt Id habe ich diese Woche gerade gelernt. Aus Ruby heraus könnte man die verschiedenen Listen generieren, und hat da den Vorteil, dass man die Daten superschnell in Excel Arbeitsmappen exportieren kann ohne den Umweg über das csv Format. Ich melde mich mal wenn ich da was erreicht habe. gruss mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1382 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 31. Jan. 2016 11:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Hermann-Josef, ich hab die Datei nochmal als eine ausdruckfreundliche formatierte Version eingestellt. Die funktioniert, müsste aber da eingefügten Makro-Codes sicherlich noch bereingt werden. Einfach das .txt löschen dann bleibt **.xlsm Zum Test Tabelle 2 (die Original csv) nach Tabelle1 kopieren und nur das geänderte Makro "Stueckliste_bereinigen" starten. Ich habe es nun final Formatiert und auch eine Pdf eingestellt.. ------------------ - Heimwerker [Diese Nachricht wurde von Leopoldi am 31. Jan. 2016 editiert.] [Diese Nachricht wurde von Leopoldi am 31. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |