| |
| KISTERS 3DViewStation: Mit 3D-Montageanleitungen werden Produkte bei der Fertigung lebendig, eine Pressemitteilung
|
Autor
|
Thema: Excel leeres Tebellenblatt NACH dem Tabellenblatt Fremdvergabe einzufügen. (1001 / mal gelesen)
|
BLD1983 Mitglied Konstrukteur
Beiträge: 87 Registriert: 27.09.2019 Catia V5 / R28 / R29 intel core i7-6700 cpu @ 3.40ghz RAM: 32GB 64Bit
|
erstellt am: 06. Feb. 2020 06:41 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen V5-Gemeinde. Ich versuche aus Catia, eine Excelvorlage zu öffnen und leeres Tebellenblatt nach dem Tabellenblatt "Fremdvergabe" einzufügen. Einfügen vor Fremdvergabe funktioniert aber nicht danach. Hab einiges im Internet gefunden aber irgendwie funktioniert es nicht....
"----------------------------------- objExcel.Worksheets("Fremdvergabe").Activate
objExcel.Worksheets.Add .......?????? "--------------------------------------- ------------------ Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Feb. 2020 18:17 <-- editieren / zitieren --> Unities abgeben: Nur für BLD1983
Servus hast du schon mal in der Doku zu Excel-VBA geschaut? Ich würde es mit Add probieren. zB (ungetestet): Code: Set myOldSheet = objExcel.Worksheets("Fremdvergabe") Set myNewSheet = objExcel.Worksheets.Add(After:myOldSheet)
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BLD1983 Mitglied Konstrukteur
Beiträge: 87 Registriert: 27.09.2019 Catia V5 / R28 / R29 intel core i7-6700 cpu @ 3.40ghz RAM: 32GB 64Bit
|
erstellt am: 07. Feb. 2020 05:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd. wie gesagt "Add" funktioniert aber der Fehler liegt anscheinend irgendwo bei "(After:=myOldSheet)"
Set myNewSheet = objExcel.Worksheets.Add(After:myOldSheet) oder Set myNewSheet = objExcel.Worksheets.Add(After:=myOldSheet) beides funktioniert nicht.
mfg BLD ------------------ Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Feb. 2020 18:02 <-- editieren / zitieren --> Unities abgeben: Nur für BLD1983
Servus BLD Da ich kein Excel hab kann ich das nicht testen. Du könntest zB: - das Worksheet per Move an die richtige Stelle schieben
- in Excel per Makrorekorder das mal aufzeichnen/testen und dann in dein Catia-Makro übernehmen
- mal in Schulungsunterlagen zu Excel-VBA danach schauen
- in einem entsprechenden Excel-Forum die Frage stellen bzw dort mal suchen
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BLD1983 Mitglied Konstrukteur
Beiträge: 87 Registriert: 27.09.2019 Catia V5 / R28 / R29 intel core i7-6700 cpu @ 3.40ghz RAM: 32GB 64Bit
|
erstellt am: 09. Feb. 2020 18:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd. Danke für den Move-Tipp! Die Lösung ist: Call objExcel.Worksheets("Materialkosten_Lehre").Move (,objExcel.Worksheets("Fremdvergabe")) wenn "," vor ,objExcel steht, dann wird es nach dem Tabellenblatt-"Fremdvergabe" hinverschoben wenn nichts vor objExcel steht, dann wir es vor "Fremdvergabe" verschoben. Naja bin mir nicht sicher ob es DIE Lösung ist, aber es funktioniert!
Mfg Dragan
------------------ Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 09. Feb. 2020 18:40 <-- editieren / zitieren --> Unities abgeben: Nur für BLD1983
Servus Basierend auf deinem Hinweis mit dem Komma, sollte Add so gehen: Code: Set myNewSheet = objExcel.Worksheets.Add(,myOldSheet) myNewSheet.Name = "Materialkosten_Lehre"
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BLD1983 Mitglied Konstrukteur
Beiträge: 87 Registriert: 27.09.2019 Catia V5 / R28 / R29 intel core i7-6700 cpu @ 3.40ghz RAM: 32GB 64Bit
|
erstellt am: 09. Feb. 2020 19:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, ja Code: Set myNewSheet = objExcel.Worksheets.Add(,myOldSheet) myNewSheet.Name = "Materialkosten_Lehre" funktioniert...soeben getestet mfg Dragan ------------------ Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |