Herbers Excel-Forum - das Archiv

Makro nach schließen einer Datei ausführen

Bild

Betrifft: Makro nach schließen einer Datei ausführen
von: saphira

Geschrieben am: 12.12.2006 08:54:33
Hallo,
Ich möchte ein Makro starten, welches eine Datei öffnet und nachdem diese Beendet ist, soll erst das nächste gestartet werden.
Das nacheinander ausführen von Makros hilft hier nur zum teil. Nur das zweite Makro startet bereits noch während ich in der, zuvor durch ein Makro, aufgerufenen Datei was schreibe. Das zweite Makro sollte also solange warten, bis ich fertig bin und die Datei geschlossen ist.
Gibt es da vielleicht sowas wie:
Sub start()
call makro
if datei offen then warte
else call makro 2
oder so ähnlich???
Gruss
Saphira
Bild

Betrifft: AW: Makro nach schließen einer Datei ausführen
von: otto
Geschrieben am: 12.12.2006 09:49:48
Hi,
Code in "Diese Arbeitsmappe"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Makro2
End Sub

Gruß
otto
Bild

Betrifft: AW: Makro nach schließen einer Datei ausführen
von: saphira

Geschrieben am: 12.12.2006 10:08:11
Hallo otto,
Und wie baue ich das ein??
Hier noch mal meine Makros:
Das Makro datenbank startet bei mir sql und nach beenden wird eine Text-Datei erzeugt. Diese soll dann von dem Makro ausreisser1 importiert werden.
Sub ausreisser()
datenbank
ausreisser1
End Sub

Sub datenbank()
Shell("G:\Test\test.cmd")
End Sub

Sub ausreisser1()
Importiert Textdatei
Erzeugt Tabelle + Diagramm
End Sub

Ich bin nicht so gut in VBA..
Gruß
Saphira
Bild

Betrifft: Brauche dringend hilfe!
von: saphira
Geschrieben am: 12.12.2006 11:22:05
Bitte helft mir!
Gruß
saphira
Bild

Betrifft: AW: Brauche dringend hilfe!
von: otto
Geschrieben am: 12.12.2006 11:29:23
Hi,
wenn du meinst wie beim schließen der Textdatei das Makro gestartet werden soll kann ich dir leider auch nicht helfen - sorry.
otto
Bild

Betrifft: AW: Brauche dringend hilfe!
von: saphira

Geschrieben am: 12.12.2006 11:41:30
Nein, die Text-Datei wird mit sql erzeugt. dazu auch das Makro datenbank.
Mit diesem erzeuge ich eine Text-Datei, die dann in ein Verzeichnis gespeichert wird. Danach schließt sich automatisch das Fenster. Alles bis hierher funktioniert automatisch.
Danach soll das Makro ausreisser1 diese erzeugte Text-Datei importieren usw. Das importieren habe ich schon erfolgreich mit Makro hinbekommen.
Sub datenbank()
Shell("G:\Test\test.cmd")
End Sub

Sub ausreisser1()
Importiert Textdatei
Erzeugt Tabelle + Diagramm
End Sub

Wenn ich nun das so mache
Sub ausreisser()
datenbank
ausreisser1
End Sub

Dann wird sql gestartet und ich bin noch bei der Eingabe der Parameter und gleichzeitig startet das Makro ausreisser1. Ok die Makros laufen nacheinander ab, aber ich brauche dazwischen zeit um die Eingabe zu tätigen.
Das ist mein Problem. Erst wenn die Textdatei erzeugt ist, soll das Makro ausreisser1 gestartet werden.
Gruss
Saphira
Bild

Betrifft: AW: Brauche dringend hilfe!
von: otto

Geschrieben am: 12.12.2006 14:15:06
Hi,
dann probiers mal so:
Sub datenbank()
Shell("G:\Test\test.cmd")
End Sub

Sub ausreisser1()
Importiert Textdatei
Erzeugt Tabelle + Diagramm
Cells(1,1)= "fertig"
End Sub

Sub ausreisser()
datenbank
If Cells(1,1)="fertig" Then
ausreisser1
End If
Cells(1,1).ClearContents
End Sub

Gruß
otto
Bild

Betrifft: Danke
von: saphira

Geschrieben am: 12.12.2006 14:28:04
Hallo otto,
Hab es anders gelöst das Problem. Aber trotzdem vielen Dank für deine Mühe.
Gruß Saphira
 Bild