| |
| Xometry ermöglicht JTW Astronomy die Herstellung hochwertiger Trident Teleskophalterungen, ein Anwenderbericht
|
Autor
|
Thema: Formatierung Arbeitsmappe mit einem Klick (1007 / mal gelesen)
|
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 22. Sep. 2016 10:09 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, bin nicht ganz sicher, ob ich im richtigen Forum gelandet bin, es geht um die Erstellung eines VBA-Skripts. Ich exportiere ein Exceldokument als .csv als Stückliste aus dem EPDM-System. Dieses Dokument muss nun formatiert werden (Spalten hinzufügen, einige Spalten löschen, farbliche Markierungen hinzufügen), damit es später als Übersicht über getätigte Bestellungen dienen kann. Die Formatierungen will ich mit einem Skript lösen, da jedes Dokument das gleiche Format haben soll. Das Skript zu erstellen ist ziemlich einfach und macht keine Probleme. Ich weiß aber nicht, wie ich das Skript so abspeichern kann, dass ich bei jedem neu exportierten Dokument (in dem ja per se erst einmal kein Makro drin ist) einfach nur noch einmal irgendwo klicken muss und das Skript dann auch abläuft. Kann ich so ein Makro aus einem anderen Dokument aufrufen? Muss ich das ganze als Addin speichern? Wie kann ich geschriebenen Code so zugänglich machen, dass ich ihn in jedem neu erstellte Exceldokument per Knopfdruck ablaufen lassen kann? Vielen Dank schonmal für die Hilfe, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 sw: WinXPPro SP2 Office2007 SP1 Civil3D 2010 SP2 ET; DACH; Extensions STRATIS bis 12.1 ARRIBAbauen 12.4 ARRIBAfinanzen ------------------- hw: NVIDIA GeForce FX 5200 onboard: Intel 82865G 2x 20" 3GHz, 2GB RAM
|
erstellt am: 22. Sep. 2016 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Englert
|
StefanBerlitz Ehrenmitglied V.I.P. h.c. IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 22. Sep. 2016 12:10 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Englert
Hallo Christoph, du kannst das Makro z.B. in einer separate Exceldatei schreiben und von dort aus aufrufen. In der Makro-Ausführen-Box ist unten ein Dropdown "Makros in:", da kannst du dann auch andere (offene) Arbeitsmappen als Herkunft für das Makro angeben und dann auswählen, welches Makro von dort gestartet werden soll. Für ein einfaches Zur-Verfügung-Stellen würde ich das Makro dann als Knopf in der Menuleiste platzieren (Menuband anpassen - Makros und am besten eine eigene Gruppe irgendwo im Start- oder Entwickler-Ribbon machen). Dann kann man es von da imemr aufrufen. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 22. Sep. 2016 12:40 <-- editieren / zitieren --> Unities abgeben:
|
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 22. Sep. 2016 18:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, wie kann ich diesen Knopf in der Menüleiste erzeugen, auf den ich nur klicken muss, damit der Code abläuft? Wie kann ich das Makro im Menüband auswählen? Wenn ich in der Auswahl auf Makro stelle, wird mit nur "ThisWorkbook.Addin" angezeigt. Das ist nicht die Datei, die mein Makro beinhaltet und auch kein von mir geschriebenes Addin... Danke nochmal! Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 22. Sep. 2016 18:09 <-- editieren / zitieren --> Unities abgeben:
|
StefanBerlitz Ehrenmitglied V.I.P. h.c. IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 23. Sep. 2016 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Englert
Hallo Christoph, da bist du schon genau richtig, aber beim Erzeugen des Makroknopfs musst du die Arbeitsmappe, wo das Makro drin ist, geöffnet haben. Später ist das nicht mehr nötig, weil das Klicken auf den Knopf die Arbeitsmappe mit dem Makro (von der es ja nun weiß, wo die herkommt) automatisch lädt und dann das Makro ausführt. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 23. Sep. 2016 10:47 <-- editieren / zitieren --> Unities abgeben:
|
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 23. Sep. 2016 13:28 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, jetzt funktioniert es wunderbar. Kann ich den Code auch ansprechen, ohne dass sich die Arbeitsmappe öffnet, in der er gespeichert ist? Bei einem Addin öffnet sich die Addin-Datei ja auch nicht... Danke nochmal, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 26. Sep. 2016 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Englert
Es gibt- zumindest ab Office 2010- die Möglichkeit, einen Ordner zu definieren, dessen Inhalt beim Start von Excel automatisch geladen wird. Standardmäßig müsste das sein %appdata%\Microsoft\Excel\XLSTART. Das kann aber in den Optionen eingestellt werden: Zusätzlich kann in den Optionen ein weiterer Ordner angegeben werden, dessen Inhalt ebenfalls geladen wird: Optionen -> Erweitert -> Abschnitt "Allgemein" -> "Beim Start alle Dateien öffnen in"
Ich habe dort eine Datei XL_MACROS.XLSB (Der Name ist egal), die alle Standardmakros enthält. Die wichtigsten interaktiven Makros habe ich dann im Menüband oder in der Schnellzugriffsleiste als Icon angefügt. Über die Registerkarte "Ansicht" kannst du die Tabellen dieser Makro-Datei aus- und wieder einblenden. ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 26. Sep. 2016 editiert.] [Diese Nachricht wurde von KMassler am 26. Sep. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Englert Mitglied
Beiträge: 30 Registriert: 25.05.2016 Solidworks 2012 Enterprise PDM 2014
|
erstellt am: 26. Sep. 2016 10:21 <-- editieren / zitieren --> Unities abgeben:
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 26. Sep. 2016 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Englert
und wenn wir schon dabei sind: die Datei kann auch mit der Endung XLSM gespeichert werden. XLSB ist etwas schneller und kleiner, aber wenn du keine riesigen Arbeitsblätter drin hast, wirst du wohl kaum einen Unterschied merken. Außerdem kannst du dem Ding 2 Autostart-Makros mitgeben: 1. in einem Modul, dort kannst du eine Autostart-Prozedur schreiben, die Auto_Open() heißt, z.B.:
Code: Sub Auto_Open() MsgBox "Auto_Open" End Sub
2. direkt in der Arbeitsmappe, dort muss sie Workbook_Open heißen, z.B.:
Code: Sub Workbook_Open() MsgBox "Workbook open" End Sub
Siehe Bild. Ob da ein praktischer Unterschied, kann ich nicht feststellen. ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |