Programmstart

grüße an euch alle…

wie kann ich beim programmstart anweiungen ausführen lassen, ohne das ich irgendetwas unternehme (z.B.) commandbutton betätigen o.ä.)

wer weis rat?

danke .

euer nikodemo

Hallo NikoDemo,
http://www.vbarchiv.net/tipps/details.php?id=234

hi, simon…

aber ich möchte das programm nicht automatisch starten, sondern
beim starten des programms z.B. zu einer bestimmten zelle springen.
d.h.: eine eröffnungsroutine einfügen, die automatisch abläuft, ohne das irgend etwas vorher passiert.

also: programmaufruf, dann sofort sprung nach zelle 5000.

servus
nikodemo

Grüezi Nikodemo

hi, simon…

aber ich möchte das programm nicht automatisch starten,

…um welches Programm geht es denn genau - meines Wissens gibt es mehr als nur eines… :wink:

sondern
beim starten des programms z.B. zu einer bestimmten zelle
springen.
d.h.: eine eröffnungsroutine einfügen, die automatisch
abläuft, ohne das irgend etwas vorher passiert.

also: programmaufruf, dann sofort sprung nach zelle 5000.

…aufgund dieser Beschreibung müsste es sich um Excel handeln?

Dann kannst Du in ‚Diese Arbeitsmappe‘ das Workbook_Open()-Ereignis verwenden und deine Sprung-Anweisung dort hinein schreiben.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

hi, thomas,

ich muß also an den anfang meines programcodes

workbook_open
(z.B. range(„a5000“).select

schreiben und das wars?

funktioniert aber nicht. leider
kommt da noch was dazu, z.B. sub, endsub, call oder sowas, oder nur diese zwei zeilen?

wäre schön, wenn ich da etwas weiterkäme…

es grüßt dich

nikodemo

Grüezi Nikodemo

ich muß also an den anfang meines programcodes

workbook_open
(z.B. range(„a5000“).select

schreiben und das wars?

Nein wieso sollte das ausreichen - da fehlt mindestens '() nach Kopzeile und das ‚End Sub‘ am Ende.
Die prinzipiellen Programmier-Gepflogenheiten müssen schon eingehalten werden…

wäre schön, wenn ich da etwas weiterkäme…

Ja, ich denke es wäre auch sehr gut, wenn Du dich selbst mit der Materie noch tiefer befasst - es kann nicht sein, dass Du hier alles ‚pfannenfertig‘ bekommst… :wink:

Die folgenden Zeilen gehören in ‚Diese Arbeitsmappe‘:

Private Sub Workbook_Open()
Range(„A5000“).Select
End Sub

Wenn es mehr als ein Tabellenblatt gibt, dann könntest Du das folgende verwenden:

Private Sub Workbook_Open()
Application.Goto Worksheets(„Tabelle1“).Range(„A5000“)
End Sub

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas.

Die folgenden Zeilen gehören in ‚Diese Arbeitsmappe‘:

Private Sub Workbook_Open()
Range(„A5000“).Select
End Sub

Was ich hierzu schon immer fragen wollte. Ich nutze das Workbook_Open in einem Modul (ohne Private Sub) und das geht auch. Ist das doch nicht so notwendig, dass es in ‚Diese Arbeitsmappe‘ steht oder git es noch andere Parameter.

@NikoDemo: Das hätte ich dann jetzt auch vorgeschlagen.

Grüße, Aiko.

Grüezi Aiko

Die folgenden Zeilen gehören in ‚Diese Arbeitsmappe‘:

Private Sub Workbook_Open()
Range(„A5000“).Select
End Sub

Was ich hierzu schon immer fragen wollte. Ich nutze das
Workbook_Open in einem Modul (ohne Private Sub) und das geht
auch. Ist das doch nicht so notwendig, dass es in ‚Diese
Arbeitsmappe‘ steht oder git es noch andere Parameter.

Hmmm, wie genau funktioniert es denn?
Kannst Du es als Map^kor aufrufen oder wird es automatisch bim öffnen der Mappe ausgeführt?

Und ist es wirklich Workboo_Open() oder etwa Auto_Open()?

Wokbook_Open() dürfte in einem allgemeinen Modul nicht funktionieren und Auto_Open() ist nur noch aus Kompatibilitätsgünden supported, sollte also eigentlich nicht mehr verwendet werden.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Ich nutze das
Workbook_Open in einem Modul (ohne Private Sub) und das geht
auch. Ist das doch nicht so notwendig, dass es in ‚Diese
Arbeitsmappe‘ steht oder git es noch andere Parameter.

Hallo Aiko,

Excel überprüft beim Öffnen einer Mappe ob im Modul „Diese Arbeitsmappe“ eine Prozedur mit dem Namen „Sub Workbook_Open()“ existiert, wenn ja wird sie ausgeführt.

Steht sie in einem anderen Modul wird sie nicht automatisch beim Öffnen ausgeführt. Sie ist dann eine gewöhnliche Prozedur.

„Private“ dient anderen Zwecken.

Gruß
Reinhard

Gruß
Reinhard

Hallo Thomas.

Hmmm, wie genau funktioniert es denn?
Kannst Du es als Map^kor aufrufen oder wird es automatisch bim
öffnen der Mappe ausgeführt?

Das Makro wird beim Öffnen der Datei automatisch gestartet.

Und ist es wirklich Workboo_Open() oder etwa Auto_Open()?

Wokbook_Open() dürfte in einem allgemeinen Modul nicht
funktionieren und Auto_Open() ist nur noch aus
Kompatibilitätsgünden supported, sollte also eigentlich nicht
mehr verwendet werden.

Da ich es zuerst gefunden habe, nutze ich Auto_Open() und das steht im allg. Modul. Werde ich dann wohl mal anpassen. Danke für den Tipp.

Grüße, Aiko.

Hallo NikoDemo.

ich muß also an den anfang meines programcodes

workbook_open
(z.B. range(„a5000“).select

schreiben und das wars?

funktioniert aber nicht. leider
kommt da noch was dazu, z.B. sub, endsub, call oder sowas,
oder nur diese zwei zeilen?

Ich werde das Gefühl nicht los, daß Du bisher noch nicht die beiden DropDowns über einem Codefenster beachtet hast. Falls das der Fall sein sollte: In dem linken DropDown kannst Du das Objekt auswählen, in dem rechten eines der verfügbaren Ereignisse dazu.
Solange das Codefenster noch „jungfräulich“ ist, steht in dem linken DropDown das Wort „(Allgemein)“ und in dem rechten DropDown das Wort „(Deklarationen)“. Wenn Du dann im linken DropDown das gewünschte Objekt auswählst, dann wird im Codefenster automatisch ein Prozedur-Rumpf des Standard-Ereignisses erzeugt. Wenn Du für „DieseArbeitsmappe“ das Objekt „Workbook“ im linken DropDown auswählst, dann wird also das Standard-Ereignis „Workbook_Open“ im Codefenster erzeugt und im rechten DropDown steht dann das Wort „Open“.

VG
Carsten