Collapse column

Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Herberthe

Seiten: [1]
1
Excel / Antw: Sub in "Diese Arbeitsmappe" aus "Modul1 aufrufen
« am: Januar 25, 2016, 19:37:00 Nachmittag »
Hallo Herbert G.

Danke für die ausführliche Antwort.

Werde ich mir dann mal zu Gemüte führen

2
Excel / Antw: Sub in "Diese Arbeitsmappe" aus "Modul1 aufrufen
« am: Januar 24, 2016, 22:11:44 Nachmittag »
Hallo Herbert G.
Ich glaube jetzt funktionierst  :) :) :) :) :)
Nach einigem Hin- und Hergeschiebe müsste es jetzt klappen.

Deine Aussage :"zuerst solltest du keine normalen Makros (Sub ...) in "DieseArbeitsmappe" haben. Diese gehören AUSSCHLIESSLICH in "StandardModul"e"
hat mich dazu bewogen mal einiges zu probieren bis es augenscheinlich klappt!
Ich versuche das mal mit meinen Worten zu definieren:
Sub's denen ich einen Namen gebe gehören in "Modul(x)"
Sub's deren Namen von VBA vorgegeben sind (z.B.: Workbook_BeforeSave,   Workbook_AfterSave,   Workbook_BeforeClose,   Workbook_BeforePrint....(die habe ich nämlich verwendet)) gehören in "DieseArbeitsmappe".
Ist das so verständlich und korrekt ?
Zumindest scheint es so zu funktionieren, aber da fehlt mir das Basiswissen zu.
Ich sage nochmal !Danke! , mit dem Tipp bin ich weitergekommen.

Bis demnächst  :)

Herbert


3
Excel / Antw: Sub in "Diese Arbeitsmappe" aus "Modul1 aufrufen
« am: Januar 24, 2016, 19:18:04 Nachmittag »
Hallo Herbert G.
Danke für die Antwort.
Funktioniert leider nicht.
Allerdings nicht mit AutoOpen sondern mit Sub workbook_open() da die Datei auch von anderen Prgrammen aufgerufen werden kann.

Wie ist das gemeint"zuerst solltest du keine normalen Makros (Sub ...) in "DieseArbeitsmappe" haben. Diese gehören AUSSCHLIESSLICH in "StandardModul"e!"
Ich schaffe das meinen Code einigermassen zum laufen zu kriegen, allerdings ist mir nicht geläufig was ich wohin schreiben muss :(:(

Ich habe mal spasseshalber den Code nach Modul 1 verschoben.
Die Zeit läuft ab wie vorher auch und schliesst die Datei, allerdings funktioeren nun meine anderen Sub's nicht mehr, sie werden nicht mehr angesprochen.
Wechsel ich in den VBA Editor und starte alles mit F5 in der ersten Zeille funktionieren allerdings auch meine anderen Sub's wieder

schönen Abend

4
Excel / Sub in "Diese Arbeitsmappe" aus "Modul1 aufrufen
« am: Januar 24, 2016, 16:08:57 Nachmittag »
Hallo Alle Miteinander

Ich habe ein Makro das mir nach einer eingestellten meine Datei schliesst.
Dies Makro befindet sich in
Microsoft Excel Objekte
       Diese Arbeitsmappe
Sub Nach_Zeit_beenden()                                                   
Zeit = Now + TimeValue("00:01:00")                             ' Läuft 1 min
Application.OnTime Zeit, "Speichern_und_Beenden"     ' Sub "Speichern und Beenden" aufrufen
End Sub


Das Sub "Speichern_und Beenden" befindet sich in
Module
    Modul1
Sub Speichern_und_Beenden()
Dateiname = Application.ThisWorkbook.Name   
Workbooks(Dateiname).Close SaveChanges:=True 
End Sub

Das ganze funktioniert und die Datei schliesst nach angegebener Zeit

Wenn ich jetzt in Modul 1 vor dem speichern noch eine Sub xyz aufrufen möchte die sich in
Microsoft Excel Objekte
       Diese Arbeitsmappe

befindet,(weil sie da auch beim normalen speichern oder beenden aufgerufen wird) kommt die Fehlermeldung "Sub oder Function nicht definiert".

Ich könnte diese Sub xyz auch in auch in
Module
    Modul1
Sub xyz
einauen, dann funktioniert es.
Dies Sub ist dann aber 2(zwei) mal vorhanden.

Wie schaffe ich es aus Module/Modul1 dies Sub xyz aus "diese Arbeitsmappe aufzurufen".

Weiss jemand Abhilfe


5
Problemlösung wurde mir mitgeteilt

Sub auto_open     ersetzen durch    Sub workbook_open      und nach   Microsoft Excel Objekte --> Diese Arbeitsmappe verschieben, und klappt.

6
Hallo alle miteinander und ein gesundes erfolgreiches 2016

Ich habe in einer datei1 folgendes Makro in Module->Modul1:

Sub auto_open()                                                            'Startet mit Programmstart
Zeit = Now + TimeValue("00:02:00")                             ' Läuft 2 min
Application.OnTime Zeit, "Speichern_und_Beenden"     ' Sub "Speichern und Beenden" aufrufen
End Sub

Sub Speichern_und_Beenden()
Dateiname = Application.ThisWorkbook.Name               ' Thisworkbook.Name schliesst das Workbook von dem aus es gestartet wurde
Workbooks(Dateiname).Close SaveChanges:=True      ' Programm gegebenenfalls speichern und beenden
End Sub

Dieses Makro schliesst meine Datei1 nach 2min.
Das funktioniert und ist so gewollt.
Also:Starte ich dies Datei1 wird sie nach 2Min beendet so wie ich es möchte.

Mein Problem:
Starte ich diese Datei1 aber aus einer anderen Datei2 mit dem Makro:

Sub test()
Workbooks.Open "d:\Datei1.xlsm"
End Sub

wird die Datei1 geöffnet, schliesst sich aber nicht mehr nach 2min sondern bleibt auf bis ich sie von Hand schliesse.

Jemand eine Lösungsidee  ?

Seiten: [1]