captainchaos666
Goto Top

über ein VB-Programm, innerhalb von Excel ein anderes VB-Programm anstossen

Hallo Spezialisten,
ich hab in Excel ein VB-Programm. Kann ich dieses VB-Programm innerhalb von Excel, extern über ein anderes VB-Programm starten.

Ich möchte in der Exceldatei die Tabellen sortieren lassen. Dieses sortieren möchte ich von extern starten!


Dank Euch

Alex

Content-Key: 54558

Url: https://administrator.de/contentid/54558

Ausgedruckt am: 28.03.2024 um 12:03 Uhr

Mitglied: Iwan
Iwan 20.03.2007 um 15:19:35 Uhr
Goto Top
wenn Du Dein Makro als Autostart-Makro in Excel hinterlegst, dann startet es bei jedem Aufruf dieser Datei automatisch
Excel hat zwar einige Startparameter, aber ich finde keinen, um ein Makro starten zu lassen (zumal das auch von der Excel-Version abhängig ist)
Mitglied: 16568
16568 20.03.2007 um 15:44:14 Uhr
Goto Top
Ich habe ja Excel schon für so manchen Mist vergenußwurzelt, aber verstehe einer, was Du damit aussagen willst...

Wie wäre es, wie Iwan schon angedeutet hat, Du die Autostart-Funktion von Excel verwendest?

z.B. Datei öffnen->Deine Sortiererei->danach automatisches Schließen...

Und wenn Du die Excel-Tabelle nicht mit einem Sub Auto_open() verwanzen willst, öffnest Du eben eine zweite, die dann die erste aufruft, darin ein Makro ausführt, dann dieselbe speichert, und sich selbst wieder schließt.


Soweit alles klar ? 8-)


Lonesome Walker
Mitglied: captainchaos666
captainchaos666 20.03.2007 um 15:50:38 Uhr
Goto Top
Hallo Iwan,
Danke für deine schnelle Antwort. Leider sollen die Exceldaten nicht immer beim öffnen sortiert werden. Wenn sortiert werden muss möchte ich mit einer anderen VB-Anwendung von außen steuern können!

Danke Dir

Gruß Alex
Mitglied: Iwan
Iwan 21.03.2007 um 08:39:06 Uhr
Goto Top
ich hab gestern noch ma ge'google't und habe keine Lösung gefunden, ein Makro von extern zu starten
auch auf der MS-Homepage gibt es keinen Hinweis auf einen Startparameter

wenn Du kein Auto_open verwenden willst, dann bleibt wirklich nur die Lösung von Walker
eine 2. Excel-Datei mit einem Auto_open-Makro erstellen, welches dann die Datei öffnet, sortiert, speichert und sich dann wieder schliesst
oder
Du erstellst mit dem VBS-Skript eine Datei und lässt das Excel-Autostart-Makro dann abfragen, ob die Datei existiert und wenn sie existiert, dann sortiert er
nachdem er dann sortiert hat, löschst Du die Datei per Excel-Makro und gut ist's
dann startet zwar das Makro bei jedem Start der Datei, aber sortiert nur, wenn die Datei existiert
oder
Du begrenzt das Autostart-Makro dahingehend, das es nur startet, wenn Du am PC angemeldet bist und nicht jemand anderes
wenn dann aber mal jemand anders das Makro starten soll, würde es nicht funktionieren

Du siehst, es gibt mehrere Möglichkeiten, so ein Autostart-Makro einzugrenzen, wann es denn nun arbeiten darf und wann nicht
Mitglied: captainchaos666
captainchaos666 21.05.2007 um 15:56:03 Uhr
Goto Top
Hallo,
ich Versuch schon seit einiger Zeit die Auto_open() Funktion zum laufen zu bekommen

Mein Syntax:

Sub Auto_open()
Range("A1:L200").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header _
:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select
End Sub

Mit diesem Syntax müsste doch automatisch die Excelliste bei öffnen der Datei sortiert werden! Bei mir nicht, könnt Ihr mir weiterhelfen?

Wenn ich anstatt Auto_open() , Worksheet_Activate() nehme, dann wird die Tabelle sortiert wenn ich in der geöffneten Datei zwischen zwei Tabellen springe!


Dank Euch, Gruß

Alex
Mitglied: captainchaos666
captainchaos666 21.05.2007 um 15:56:31 Uhr
Goto Top
Hallo,
ich Versuch schon seit einiger Zeit die Auto_open() Funktion zum laufen zu bekommen

Mein Syntax:
Sub Auto_open()
Range("A1:L200").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header _
:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select
End Sub

Mit diesem Syntax müsste doch automatisch die Excelliste bei öffnen der Datei sortiert werden! Bei mir nicht, könnt Ihr mir weiterhelfen?

Wenn ich anstatt Auto_open() , Worksheet_Activate() nehme, dann wird die Tabelle sortiert wenn ich in der geöffneten Datei zwischen zwei Tabellen springe!


Dank Euch, Gruß

Alex