Werte übergeben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Werte übergeben
von: Jens
Geschrieben am: 18.06.2002 - 11:23:35

EIne Frage: Ich hab in VBA code geschrieben der in einem allgem. Modul eine auto-open und auto_close Procedure enthält.
Diesen Proceduren möchte ich Variablen übergeben. Funktionieren die Proceduren dann noch gibt es etwas zu beachten?!
Die Proceduren übernehmen die funktion der Before_close und open in diese arbeitsmappe!
nach oben   nach unten

Re: Werte übergeben
von: Hans W. Herber
Geschrieben am: 19.06.2002 - 07:15:52

Hallo Jens,

an die auto_open kannst Du Parameter übergeben, solltest diese allerdings als Optional deklarieren, da es andernfalls, wenn kein Parameter übergeben wird, die Mappe z.B. manuell geöffnet wird, zu einer Fehlermeldung kommt.
Wie Du Dir das allerdings für die auto_close-Prozedur vorstellst, ist mir schleierhaft.

Wird eine Arbeitsmappe per Makro geöffnet, wird das auto_open-Makro nicht ausgeführt, wenn diese nicht explizit aufgerufen wird. Du kannst also den Aufruf in dieser Art vornehmen (12 ist der zu übergebende Parameter):


Sub ATest()
   Workbooks.Open "c:\test\test.xls"
   Run "test.xls!auto_open", 12
End Sub

hans

nach oben   nach unten

falsch verstanden
von: Jens
Geschrieben am: 19.06.2002 - 13:16:11

Sorry:
ich habe mir in ein allgemeines Modul folgenden Code geschrieben:

Sub auto_open()
MSGBOX("Hallo")
end sub

öffne ich die Arbeitsmappe in der die Procedure steht per Hand so wird das Makro ausgeführt!
Achtung!!!! Ich habe den Code nicht in dem Modul diese arbeitsmappe Workbooks before open drin!

Das ganze funktioniert auch als sub auto_close()

Nun meine Frage!
Ich erstelle neue Arbeitsmappen, kopiere Tabellenblätter hinein und möchte die Proceduren auto_open und close auch in die Mappe kopieren und ihnen Werte übergeben!!!!
Geht das?
Kann ich an diese Proceduren Werte übergeben!

nach oben   nach unten

Re: falsch verstanden
von: Rolf, Lgh.
Geschrieben am: 19.06.2002 - 13:38:38

Hallo Jens,
schau da mal rein:
https://www.herber.de/mailing/vbe.htm
Gruß Rolf
nach oben   nach unten

letzte Frage
von: Jens
Geschrieben am: 19.06.2002 - 14:40:04

Danke für die Hilfe genau den unten stehenden Code hab ich gebraucht, aber:

Kann ich es genause für Workbook_Before_close() machen?!

Weiter wenn ja, kann es Probleme mit verschiedenen Betriebssytemen oder Excel Versionen kommen das Workbook_open() nicht ausgeführt wird, oder gibt es etwas besonderes zu beachten (welches modul, etc) ?!

'StandardModule: mHWH

Sub OpenProzedurAnlegen()
Dim nWB As Workbook
Dim mdlWB As Object
Set nWB = Workbooks.Add
Set mdlWB = nWB.VBProject.VBComponents("DieseArbeitsmappe")
With mdlWB.CodeModule
.InsertLines 3, "Private Sub Workbook_Open()"
.InsertLines 4, " Msgbox ""Bin jetzt da!"""
.InsertLines 5, "End Sub"
End With
End Sub

nach oben   nach unten

Re: letzte Frage
von: Rolf, Lgh.
Geschrieben am: 19.06.2002 - 14:53:43

Zu. 1 --> würde ich mal testen
Zu. 2 --> Probleme können immer auftreten (Fehlerroutine einbauen) ab Excel 97 und Windows 95 müßte es aber grundsätzlich funktionieren

nach oben   nach unten

DANKE
von: Jens
Geschrieben am: 19.06.2002 - 15:24:34

.

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Uhrzeit in Stunden"