Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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

Makrosteuerung bei Excelstart

Makrosteuerung bei Excelstart
23.09.2015 14:38:22
r2d2
Hallo,
wenn man eine Excel-Datei mit Shift öffnet, kann man den "Startcode" der unter "DieseArbeitsmappe" steht unterdrücken, alle anderen Makros in Modulen gehen aber (zumindest ist das bei mir so). Nun möchte ich, daß wenn jemand die Datei mit Shift öffnet, auch die anderen Makros nicht funktionieren.
Hierzu habe ich von Rudi folgenden Code bekommen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CheckNameExists
With Names("Makro")
.Value = 0
.Visible = False
End With
End Sub
Private Sub Workbook_Open()
CheckNameExists
With Names("Makro")
.Value = 1
.Visible = False
End With
End Sub
Sub CheckNameExists()
Dim n As Name
On Error Resume Next
Set n = Names("Makro")
On Error GoTo 0
If n Is Nothing Then
Set n = Me.Names.Add("Makro", 1)
End If
End Sub
und im Modul dann
Sub makro1()
If [Makro] = 1 Then
MsgBox "makro1"
End If
End Sub
Das funktioniert auch soweit, nur wenn man das Kreuzchen rechts oben drückt (Fenster schließen) und dann abbricht, ist der Wert auch 0 und die Makros gehen dann auch nicht mehr (was sie aber bei Abbruch weiter sollen).
Kann man das irgendwie abfangen?
Ich poste das extra, da beim anderen Post keine Reaktion mehr erfolgt.
Danke.
Gruß
r2d2

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
keine Chance. owT
23.09.2015 15:43:19
Rudi

AW: keine Chance. owT
23.09.2015 15:53:34
r2d2
?

Wenn in diesem speziellen Fall ebenfalls ...
23.09.2015 17:10:20
Luc:-?
…kein einziges Pgm fktionieren/normal durchlaufen soll, r2d2,
wirst du wohl im Wb_Open-Pgm eine globale Boolesche Variable setzen und die in jedem Pgm, das sonst noch laufen könnte, abfragen müssen. Alternativ könntest du natürlich auch ein SteuerPgm für alle diese Pgmm schreiben, das grdsätzlich zuerst aufgerufen wird, die Variable prüft und dann erst das jeweilige Pgm aufruft. Das musst du selbst, je nach Aufwand entscheiden. Auch Pgmm zum Einblenden von (Very)Hidden-Blättern könnten so unwirksam wdn.
Für in ZellFmln eingesetzte UDFs würde ich das aber nicht machen. Hier sollte das Ausblenden solcher Blätter ausreichen.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Wenn in diesem speziellen Fall ebenfalls ...
24.09.2015 08:36:22
r2d2
"wirst du wohl im Wb_Open-Pgm eine globale Boolesche Variable setzen und die in jedem Pgm, das sonst noch laufen könnte, abfragen müssen"
Ja, genau das möchte ich machen, weiss aber nicht wie.....
Gruß
r2d2

alles Mumpitz
24.09.2015 10:04:25
Rudi
Hallo,
wenn es dir doch darum geht, dass die Mappe nicht gespeichert werden kann:
Schreib-/Lesekennwort setzen und zur Verhinderung der Ausführung von Makros am Anfang jeder Sub:
If Thisworkbook.readonly then Exit Sub
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige