Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

beim Mappeschließen wird Makro weiter ausgeführt

beim Mappeschließen wird Makro weiter ausgeführt
Karsten
Hallo...
Hab fogendes Problem mit dem ich nicht zurechtkomme. Wenn ich Mappe1 (mit u.st. Makros) schließe, aber eine andere Mappe geöffnet ist, wird noch ein Teil des Makros ausgeführt. In die andere Mappe wird in B1 T E R M I N E eingeschrieben und Mappe1 wird wieder geöffnet. Kann mir jemand helfen diesen Vorgang abzustellen?
Besten Dank für eure Hilfe.
Gruß
Karsten
Sub zu_Termine()
On Error Resume Next
Rows.Hidden = FalseEnd
Sheets("Lehrbericht").Select
Range("b1").Select
ActiveCell.FormulaR1C1 = "T E R M I N E"
'usw.
In "DieseArbeitsmappe" stehen in Mappe1 folgende Befehle:
Option Explicit
Private Sub Workbook_Activate()
Application.OnKey "{F3}", "schreibe_TERMINE"
Application.OnKey "^{ }", "Strg_xx"
Application.OnKey "^{#}", "finde_Inhalt_in_B_ohne_Datum"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "{F3}"
Application.OnKey "^{ }"
End Sub

Private Sub Workbook_Open()
Call ZeitInZelle
' Notizen_öffnen
zu_Termine
Dim objSheet As Worksheet
Dim objOLEObject As OLEObject
Dim lngIndex As Long
gblnInit = True
For Each objSheet In ThisWorkbook.Worksheets
For Each objOLEObject In objSheet.OLEObjects
If TypeOf objOLEObject.Object Is MSForms.ComboBox Then
With objOLEObject.Object
.ListIndex = -1
.Clear
For lngIndex = 1 To 12
.AddItem MonthName(lngIndex)
Next
End With
End If
Next
Next
gblnInit = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Programm_abschiessen
End Sub

Diese Befehle auf Blatt "Lehrbericht" könnten vielleicht ebenfalls eine Rolle spielen:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = Range("a1") Then
Dim zelle As Range
For Each zelle In Range("a2:a1000")
If zelle.Value = Range("a1").Value Then
zelle.Select
Exit Sub
End If
Next zelle
End If
If Target.Address = "$B$1" Then
Set rngBereich = Nothing
Set rng = Nothing
B1_Befehl
End If
End Sub

AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 08:30:57
JogyB
Hi.
Die Prozedur "Programm_abschiessen" fehlt, die wäre hier wichtig.
Gruss, Jogy
AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 08:37:15
Karsten
Hall Jogy
Option Explicit
Sub Programm_abschiessen()
Const STRPC As String = "."
Dim errMsg As String
errMsg = "Fehler in Programm abschiessen"
Dim objWMI As Object, objProcesses As Object, objProcess As Object
On Error GoTo errHandler
Set objWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & STRPC & "\root\cimv2")
Set objProcesses = objWMI.ExecQuery _
("Select * from Win32_Process Where Name = 'notepad.exe'")
For Each objProcess In objProcesses
objProcess.Terminate
Next
errMsg = ""
errHandler:
If errMsg  "" Then MsgBox errMsg, vbOKOnly + vbCritical, "WMI-Error"
Set objProcess = Nothing
Set objProcesses = Nothing
Set objWMI = Nothing
End Sub

Anzeige
AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 09:16:19
JogyB
Hi.
Sorry, mir fällt jetzt grade nichts auf... müßte sich jemand anders noch anschauen.
Ein Beispieldatei wäre aber hilfreich.
Gruss, Jogy
AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 09:28:26
Karsten
Hallo Jogy,
hab mal was probiert. Wenn ich in u.st. Befehl Exit

Sub schreibe, wird der Vorgang so beendet, wie ich es mir vorstelle. Allerdings wird dann beim ö _
ffnen der Mappe  Exit 

Sub auch gleich ausgeführt, was mir wiederum nichts nützt. Gibt es da so etwas, wie: wenn  _
Mappe1 schließt, dann exit 

Sub ausführen, wenn Mappe 1 öffnet, dan exit 

Sub ignorieren? Eine Beispielmappe müsste ich erstmal zurechtbasteln. Die Datei an sich ist zu  _
groß.
Gruß
Karsten
Option Explicit
Public Zeit As Date

Sub StartTimer()
Zeit = Now + TimeValue("00:00:01") 'Intervall festlegen
Application.OnTime Zeit, "ZeitInZelle"
Exit Sub
End Sub

Anzeige
AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 10:41:56
JogyB
Hi.
Wo wird dieses StartTimer denn ausgeführt?
Du hast doch dann sicher auch ein StopTimer mit dem Code
Public Sub stopTimer()
On Error Resume Next
Application.OnTime Zeit, "ZeitInZelle", , False
On Error GoTo 0
End Sub
Führ das mal noch am Ende von BeforeClose aus.
Was anderes fällt mir ohne die Beispieldatei nicht ein.
Gruss, Jogy
AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 11:18:55
Karsten
Hallo Jogy,
danke, aber ich habe die Sache mit:
Application.Run "StoppTimer"
zum Schluß bei Makro Programm_abschießen in den Griff bekommen.
Gruß
Karsten
AW: beim Mappeschließen wird Makro weiter ausgeführt
17.09.2009 11:26:51
JogyB
Hi.
Gut dass es läuft... und ich war ja wenigstens auf der richtigen Spur (mein Vorschlag macht genau dasselbe).
Nur ein Hinweis: Versuche bei Anfragen möglichst den gesamten Code zu posten, am Anfang hat jeder Hinweis auf einen Timer gefehlt.
Gruss, Jogy
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige