Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Allgemeine Frage zu Makro

Allgemeine Frage zu Makro
16.02.2007 12:44:00
René
Hi Gemeinde,
wie stelle ich es an, wenn ich 2 Aufgaben/Makros unter z.B. Private Sub Workbook_BeforeClose(Cancel As Boolean) aufuehren moechte.
Trage ich 2mal "Private Sub Workbook_BeforeClose(Cancel As Boolean)" ein, kommt die Fehlermeldung "Mehrdeutiger Befehl". Ich nehme an, die Meldung erfolgt nur, da ich 2mal diesen Befehl in einem Blatt habe. Wenn ich einfach ein Makro hinten anfuege, fuehrt Excel nur das erste aus und ignoriert das folgend angefuegte. Es muesste dann wohl einen Befehl geben, der das erste MAkro beendet und das naechste in Folge ausfuehrt. Ich hoffe ich habe mich verstaendlich ausgedrueckt. Vielen Dank!
MfG
René

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Allgemeine Frage zu Makro
16.02.2007 12:50:00
Dieter
Hallo René
das sub Workbook_BeforeClose ist ja nichts anderes als ein Makro, was halt ausgeführt wird, bevor Du eine Workbook schliesst.
Wenn Du nun mehrere Aufgaben starten willst, dann schreibe diese doch hintereinader weg... so ungefähr:
Und Du kannst halt soviel Aktion in dieses Sub reinschreiben wie Du möchtest. Der besseren Übersichtlichkeit her, würde ich aus diesem Sub nur andere Subs starten, außer es sind minibefehle, für die sich ein eigenes sub nicht lohnt.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Autor         : 08.02.2007    dwk
' Zweck         :
' Verwendet von :
' Rückgabe      :
' Parameter     :
' Hinweise      :
' Entwicklung   : 08.02.2007    dwk
On Error GoTo HandleErr
Const FUNKTIONSNAME As String = "DieseArbeitsmappe.Workbook_BeforeClose"
Aufgabe1
Aufgabe2
ExitHere:
Exit Sub
HandleErr:
Select Case Err.Number
Case Else
MsgBox "Fehler Nr.: " & Err.Number & vbCr & Err.Description, vbExclamation, FUNKTIONSNAME
Resume ExitHere
End Select
End Sub

Ich hoffe geholfen zu haben und verbleibe freundlichst
Dieter W. Kleist
Anzeige
AW: Allgemeine Frage zu Makro
16.02.2007 13:17:33
René
Hallo Dieter W.,
ich wuerde es gerne verstehen aber es ist dann wohl doch nich so einfach... zumindest funkt das bei mir nich so recht :(
Ich zeig dir mal den Code und eventuell stellst den Fehler fest.

Private Sub Workbook_Open()
Sheets("Mappe2").[D3] = Rnd
Exit Sub
Sheets(1).Visible = False
Sheets(2).Visible = True
Sheets(3).Visible = True
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
Exit Sub
Sheets(1).Visible = True
Sheets(2).Visible = False
Sheets(3).Visible = False
End Sub

Vielen Dank!
MfG
René
Anzeige
AW: Allgemeine Frage zu Makro
16.02.2007 13:19:59
Dieter
Na nimm doch mal die beiden Zeilen Exit Sub aus den Modulen... so kann er unten bei den Sheet Geschichten nie ankommen...
Probier mal
MfG Dieter W. Kleist
AW: Allgemeine Frage zu Makro
16.02.2007 13:24:00
René
Omg! ;) Es funzt!
Ok vielen Dank!!!!!
MfG
René
AW: Allgemeine Frage zu Makro
16.02.2007 13:28:33
Dieter
Aber eine Frage interessiert mich noch...
Wieso blendest Du das Sheet 1 ein, wenn Du die Datei schliesst, wenn du es beim Öffnen wieder ausblendest. Das selbe gilt für 2 und 3... Ist das sinnvoll?
MfG Dieter W. Kleist
AW: Allgemeine Frage zu Makro
16.02.2007 13:31:00
René
Erm nein! Das ganze war nur einfach rauskopiert als Beispiel. Das es nicht funktionierte war mir vorher schon klar. Ich wollte nur wissen wie man es anstellt mehrere Befehle unter einer Subfunktion zum Laufen zu bringen.
MfG
René
Anzeige
AW: Allgemeine Frage zu Makro
16.02.2007 13:42:00
René
Der richtige Code war dieser hier:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(1).Visible = True
Sheets(2).Visible = False
Sheets(3).Visible = False
End Sub


Private Sub Workbook_Open()
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(1).Visible = False
End Sub

zumindest funkt er. Diesen hatte ich auch mal hier gefunden, durch diese Spielerei mit den Makros ist das ganze etwas durcheinander geraten. Sonnige Gruesse
MfG
René

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige