| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Tierisch mobil: Der autonome Inspektionsroboter ANYmal |
Autor
|
Thema: Tabelle sortieren - Makro?! (2985 mal gelesen)
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 19. Mai. 2006 08:00 <-- editieren / zitieren --> Unities abgeben:
Guten (Frei-)Tag!! Ich wollte mal fragen ob jemand schon mal einM akro geschrieben/gesehen hat um die Sücklistentabelle zu sortieren. Ich möchte meine Tabelle immer nach $Benutzerdef.variable Absteigend, Benennung Aufsteigend und Konfiguration Aufsteigend sortieren. Es ist relativ mühsam, nach jeder änderung an einem Model, die ganzen Tabellen von Hand wieder neu zu sortieren. Vielen Dank schon mal für Eure Mithilfe! Note: Der Makro-Recorder scheint leider nicht der richtige Ansatz zu sein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 19. Mai. 2006 08:22 <-- editieren / zitieren --> Unities abgeben: Nur für G. Dawg
Guten Morgen, die Lösung findest du in der Excel-API 'Excelbefehl oExcelBereich.Sort( _ Key1:=oExcelApp.Range(sErsteSortierSpalte), Order1:=EinsAufOderAb, _ Key2:=oExcelApp.Range(sZweiteSortierSpalte), Order2:=ZweiAufOderAb, _ Key3:=oExcelApp.Range(sDritteSortierSpalte), Order3:=DreiAufOderAb, _ Header:=Excel.XlYesNoGuess.xlGuess, OrderCustom:=1, _ MatchCase:=False, _ Orientation:=Excel.XlSortOrientation.xlSortColumns, _ DataOption1:=Excel.XlSortDataOption.xlSortNormal, _ DataOption2:=Excel.XlSortDataOption.xlSortNormal, _ DataOption3:=Excel.XlSortDataOption.xlSortNormal) Das Excelobjekt holst du dir einfach so: 'Wenn die Tabelle aktiv ist 'Excelobjekt holen oExcelApp = _ CType(GetObject(, "Excel.Application"), _ Excel.Application) 'Aktuelles Blatt holen oExcelSheet = _ CType(oExcelApp.ActiveSheet, _ Excel.Worksheet) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 19. Mai. 2006 08:27 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank, tbd! Dass wir uns richtig verstehen: Die StüLi-Tabelle ist von SWX generiert worden; auf einer 2D Ableitung (die Tabelle ist immernoch dort). Und diese Tabelle ist ein Excel Objekt? Das Script von Dir, kann ich das dann einfach in den VB Editor 'reinkopieren und als Makro ausführen? Danke nochmals! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 19. Mai. 2006 12:38 <-- editieren / zitieren --> Unities abgeben: Nur für G. Dawg
Im SolidWorks VBA wird es nicht klappen da man einen Verweis zu Excel benötigt! In einem externen VB Projekt schon (Code ist vb.net). Du musst halt allerdings festlegen welche Spalte du Sortieren möchtest! und wieviel. Zum Beispiel Key1:=oExcelApp.Range("A:A") wenn du als erstes nach der Spalte A sortieren möchtest. Die Order1:=EinsAufOderAb muss man mit einer Excel Konstanten auch festlegen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 19. Mai. 2006 13:33 <-- editieren / zitieren --> Unities abgeben:
|
gismo Mitglied SWX Support
Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 19. Mai. 2006 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für G. Dawg
|
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 22. Mai. 2006 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für G. Dawg
Genau so sieht es aus! in SolidWorks gibt es nur sehr wenige API befehle um das Excel Arbeitsblatt anzusprechen. Sind meistens nur lese, bzw schreib befehle. So etwas wie sortieren geht nur über die Excel API! Aber das Excel Objekt kannst du dir wie gesagt sehr leicht besorgen, wenn die Tabelle in SolidWorks aktiv ist! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |