Makro beim Öffnen starten

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


Excel-Version: 2002
  

Re: Makro beim Öffnen starten

von: Hajo
Geschrieben am: 15.04.2002 - 20:57:39


Hallo Mike

schreibe Dein Makro in DieseArbeitsmappe unter
Private Sub Workbook_Open()
Gruß Hajo

  

Re: Makro beim Öffnen starten

von: Mike
Geschrieben am: 15.04.2002 - 21:45:14


Hallo Hajo,
danke für deine schnelle Antwort. Habe aber irgendwie ein Problem damit.
Unter "Diese Arbeitsmappe" steht bereits das Makro:
Private Sub Workbook_Open()
With Worksheets(1).Range("N2")
.Value = .Value + 1
End With
End Sub

Im allg. Modul steht das Löschen-Makro, das so beginnt:
Option Explicit

Public Loeschen As Boolean

Sub Einträge_löschen()
Dim strAntwort As String
usw.

Wie krieg ich das nun zusammen?
Danke für deine Geduld.

Gruß Mike

  

Re: Makro beim Öffnen starten

von: Hajo
Geschrieben am: 16.04.2002 - 06:22:59


Hallo Mike

Einfach hinter End With kopieren.

Gruß Hajo

  

Re: Makro beim Öffnen starten

von: Mi
Geschrieben am: 16.04.2002 - 10:23:16


Hallo Hajo,
vielen Dank für deine Hilfeversuche, aber irgendwie kriege ich das nicht auf die Reihe. Wenn ich das so mache, kommt dann z.B. die Meldung, dass Option Explicit nicht erlaubt ist oder ein End Sub erwartet wird usw.
Trotzdem vielen Dank.

Gruß Mike

  

Re: Makro beim Öffnen starten

von: Hajo
Geschrieben am: 16.04.2002 - 14:22:59


Hallo Mike

für die Fehlermitteilung muß ich den Code schon sehen sonst kann ich dazu auch nichts schreiben.

Gruß Hajo

  

Re: Makro beim Öffnen starten

von: Mike
Geschrieben am: 16.04.2002 - 20:51:17


Hallo Thomas,
in "Diese Arbeitsmappe" steht der Code:

Private Sub Workbook_Open()
With Worksheets(1).Range("N2")
.Value = .Value + 1
End With
End Sub

im Modul "Loeschen" steht der Code:

Option Explicit

Public Loeschen As Boolean

Sub Einträge_löschen()
Dim strAntwort As String

strAntwort = MsgBox("Achtung: Das gesamte Tabellenblatt wird zurückgesetzt!", _
vbExclamation + vbOKCancel, "Hinweis")
If strAntwort = vbCancel Then Exit Sub 'Bei "Abbrechen" abbrechen.
With Application
.ScreenUpdating = False 'Bildschirmaktualisierung abschalten.
.EnableEvents = False 'Ereignissprozeduren deaktivieren.
End With
With ActiveSheet
.Unprotect
Loeschen = True
.Range("F2").ClearContents 'Bereiche löschen.
.Range("F4").ClearContents 'Bereiche löschen.
.Range("G11:G13").ClearContents ' - analog -
.Range("G14:N14").ClearContents ' - analog -
.Range("I11:J11").ClearContents ' - analog -
.Range("I12:J12").ClearContents ' - analog -
.Range("I13:J13").ClearContents ' - analog -
.Range("G11:G13").ClearContents ' - analog -
.Range("L12:L13").ClearContents ' - analog -
.Range("N12:N13").ClearContents ' - analog -
.Range("A23:N34").ClearContents ' - analog -
.Range("D36:E36").ClearContents ' - analog -
.Range("F2").Select
Loeschen = False
.Protect
End With
With Application
.EnableEvents = True 'Ereignissprozeduren wieder aktivieren.
.ScreenUpdating = True 'Bildschirmaktualisierung wieder einschalten.
End With
End Sub

Wie bringe ich das nun unter einen Hut? Es soll also beim Öffnen der Mappe das Loeschen-Makro automatisch ausgeführt werden.

Gruß Mike

  

Re: Makro beim Öffnen starten

von: Hajo
Geschrieben am: 16.04.2002 - 21:59:54


Hallo Mike
auch wenn ich nicht Thomas bin folgender Ansatz


Option Explicit
Public Loeschen As Boolean
Dim strAntwort As String
Private Sub Workbook_Open()
    With Worksheets(1).Range("N2")
        .Value = .Value + 1
    End With
        strAntwort = MsgBox("Achtung: Das gesamte Tabellenblatt wird zurückgesetzt!", _
    vbExclamation + vbOKCancel, "Hinweis")
    If strAntwort = vbCancel Then Exit Sub 'Bei "Abbrechen" abbrechen.
    With Application
        .ScreenUpdating = False 'Bildschirmaktualisierung abschalten.
        .EnableEvents = False 'Ereignissprozeduren deaktivieren.
    End With
    With ActiveSheet    ' Hier Müßte das  Register hingeschrieben werden für das es gilt
'    With Worksheets("Tabelle1"()
        .Unprotect
        Loeschen = True
        .Range("F2").ClearContents 'Bereiche löschen.
        .Range("F4").ClearContents 'Bereiche löschen.
        .Range("G11:G13").ClearContents ' - analog -
        .Range("G14:N14").ClearContents ' - analog -
        .Range("I11:J11").ClearContents ' - analog -
        .Range("I12:J12").ClearContents ' - analog -
        .Range("I13:J13").ClearContents ' - analog -
        .Range("G11:G13").ClearContents ' - analog -
        .Range("L12:L13").ClearContents ' - analog -
        .Range("N12:N13").ClearContents ' - analog -
        .Range("A23:N34").ClearContents ' - analog -
        .Range("D36:E36").ClearContents ' - analog -
        Loeschen = False
        .Protect
    End With
    With Application
        .EnableEvents = True 'Ereignissprozeduren wieder aktivieren.
        .ScreenUpdating = True 'Bildschirmaktualisierung wieder einschalten.
    End With
End Sub

Gruß Hajo

nach unten

Betrifft: Makro beim Öffnen starten
von: Mike
Geschrieben am: 15.04.2002 - 20:55:37

Seid gegrüßt,
habe in meiner Arbeitsmappe ein Makro in einem allg. Modul stehen, das den Inhalt festgelegter Zellen löscht.Dies ist einer Schaltfläche zugewiesen und funktioniert auch.
Nun möchte ich, es so einrichten, dass dieses Makro immer beim Öffnen der Arbeitsmappe automatisch ausgeführt wird.
Was müsste gemacht werden? Die manuelle Ausführung soll aber zusätzlich bestehen bleiben.

Gruß Mike


nach oben   nach unten

Re: Makro beim Öffnen starten
von: Mike
Geschrieben am: 17.04.2002 - 09:39:17

Hallo Hajo, da ich mich in VBA nicht so auskenne, komme ich mit dem Hinweis "Hier müsste das Register hingeschrieben werden . . ." nicht klar. Vielleicht nützt dies was: Meine Arbeitsmappe heißt => ANTRAG-ÜZA.xls und die dortige Tabelle1 ist umbenannt in => Antrag ÜZA. Habe verschiedenes schon probiert, aber ich krieg's nicht hin. Müsste dann der komplette Code in "Diese Arbeitsmappe" kopiert werden? Gruß Mike

nach oben   nach unten

Re: Makro beim Öffnen starten
von: Hajo
Geschrieben am: 17.04.2002 - 11:12:51

Hallo Mike ersetze With ActiveSheet ' durch With Worksheets("Antrag ÜZA") der code war doch schon in DieseArbeitsmappe woanders wirkt das Makro Private Sub Workbook_Open() nicht. Gruß Hajo

nach oben   nach unten

Re: Makro beim Öffnen starten
von: Mike
Geschrieben am: 17.04.2002 - 19:57:33

Hallo Hajo, danke, jetzt klappt's. Habe heute in einem neuen Beitrag "Makro erweitern" noch zu einer Variante davon eine Frage gestellt. Gruß Mike

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Makro beim Öffnen starten"