Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: "Komische" Fehlermeldung "Nach End Sub, End Functi

"Komische" Fehlermeldung "Nach End Sub, End Functi
28.07.2004 16:27:26
Sven
Hallo,
ich habe folgendes Problem. Ich lende beim Öffnen einer Mappe alle Symbolleisten aus, außer meine eigene. Nuerdings tritt der Fehler auf, dass beim öffnen der Mappe die Meldung "NAch End Sub, End Function oder End Property können nur Kommentare stehen" kommt. Nach der Zeile, in dem angehalen wird kommt noch End Sub und dann Private Sub Workbook_Open().
Das ganze liegt in "Diese Arbeitsmappe". Ich habe auch schon die Reihenfolge der Subs vertauscht, aber es kommt immer die gleiche Fehlermeldung.
Woran kann das denn liegen?
Gruß
Sven
Anzeige
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Ulf
Poste den Code, sonst ist es ein Ratespiel. Vermutlich steht vor Sub oder nach EndSub
noch etwas, was kein Kommentar ist.
Ulf
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Sven
Hallo,
habe hier mal den Code aus "Diese Arbeitsmappe"
Option Explicit

Private Sub Workbook_Open()
Dim sh As Worksheet
Dim datDatum_Zeit As Date, lngDifferenz As Long
Stand = Application.DisplayFormulaBar
datDatum_Zeit = GetSetting(ThisWorkbook.Name, "gesperrt", "Datum und Zeit", Time)
lngDifferenz = DateDiff("n", Now, datDatum_Zeit)
If lngDifferenz > 0 Then
MsgBox "Sie wurden für die Benutzung der Mappe gesperrt." & vbLf & "Die Mappe wird in " & CStr(lngDifferenz) & " Minuten wieder freigeschaltet.", 64, "Information"
ThisWorkbook.Saved = True
If Workbooks.Count <= 1 Then Application.Quit Else ThisWorkbook.Close
Else
For Each sh In ActiveWorkbook.Worksheets
sh.Unprotect
Next sh
Sheets("Übersicht").Select
Range("I3").Value = ""
For Each sh In ActiveWorkbook.Worksheets
sh.Protect
Next sh
ThisWorkbook.IsAddin = False
End If
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Dim j As Integer
'Wenn es Suchkatalogblätter gibt...
For j = Worksheets.Count To 1 Step -1
If Left(Worksheets(j).Name, 5) = "Such_" Then
With frmSuchblätterLöschen
.Show
'Wenn Anwender 'Abbrechen' gewählt hat, dann...
If .Tag = "Abbruch" Then
Sheets("Übersicht").Select
If Range("I3").Value = "Sperrung" Then
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
Exit Sub
End If
Cancel = True
'... Makro beenden
End
End If
'Wenn Anwender 'Ja' gewählt hat, dann...
If .Tag = "Ja" Then
'...werden die Suchkatlaogblätter gelöscht, die Arbeitsmappe gespeichert
'und geschlossen
Application.DisplayAlerts = False
For i = Worksheets.Count To 1 Step -1
If Left(Worksheets(i).Name, 5) = "Such_" Then
Worksheets(i).Delete
End If
Next i
ThisWorkbook.Save
Application.DisplayAlerts = True
Exit Sub
End If
'Wenn Anwender 'Nein' gewählt hat, dann...
If .Tag = "Nein" Then
'...Arbeitsmappe gespeichert und geschlossen ohne die Suchkatalogblätter zu löschen
ThisWorkbook.Save
Exit Sub
End If
End With
Else
'Wenn es keine Suchkatalogblätter gibt, wird die Mappe gespeichert und geschlossen
ThisWorkbook.Save
Exit Sub
End If
Next
End If
Application.DisplayAlerts = True
End Sub

Sub Leisten_(AnAus As Boolean)
Application.ScreenUpdating = False
For Each symbol In Application.CommandBars
symbol.Enabled = AnAus
Next symbol
Application.ScreenUpdating = True
If AnAus = False Then
Application.DisplayFormulaBar = False
Else
Application.DisplayFormulaBar = Stand
End If
End Sub

Private Sub Einblenden()
Notmakro zum einblenden der Symboleisten
Leisten_ True
End Sub


Private Sub Workbook_Deactivate()
Leisten_ True
End Sub


Private Sub Workbook_Activate()
Leisten_ False
End Sub

Anzeige
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Ulf
Lad mal ein Beispiel hoch, hier ist nichts zu sehen.
Ulf
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Sven
Hallo,
die Datei ist ca 6MB groß, die kann ich hier nicht hochladen. Gepackt hat sie 250kb, aber die kann man hier ja nicht hochladen.
Gruß
Sven
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Ulf
Klar kannst du *.zip hochladen!
Ulf
Anzeige
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Sven
Als Zip ist es immer noch einen mb groß. Man kann nur bis ca 300kb hochladen.
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
28.07.2004 18:20:22
Nepumuk
Hallo Ulf,
benutze Winrar, das pack um 60% dichter als zip. Das Programm gibt es hier:
http://www.winrar.de/
Gruß
Nepumuk
AW: "Komische" Fehlermeldung "Nach End Sub, End Functi
Sven
Das hab ich als zip mit winrar gepackt.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Fehlermeldung "Nach End Sub, End Function" in Excel VBA beheben


Schritt-für-Schritt-Anleitung

Um die Fehlermeldung "Nach End Sub, End Function oder End Property können nur Kommentare stehen" zu beheben, folge diesen Schritten:

  1. Öffne den Visual Basic-Editor in Excel, indem du ALT + F11 drückst.
  2. Navigiere zu "Diese Arbeitsmappe" im Projekt-Explorer.
  3. Überprüfe den Code auf überflüssige Zeilen oder fehlende Kommentare vor und nach den Sub und End Sub-Anweisungen.
  4. Achte darauf, dass jeder Sub-Block korrekt beendet wird. Der Block muss mit End Sub enden.
  5. Stelle sicher, dass keine weiteren Anweisungen nach End Sub stehen, außer Kommentaren.

Hier ist ein Beispiel, wie der Code korrekt strukturiert sein sollte:

Private Sub Workbook_Open()
    ' Dein Code hier
End Sub

Wenn du die oben genannten Punkte befolgst, sollte die Fehlermeldung verschwinden.


Häufige Fehler und Lösungen

  • Fehler: Überflüssige Zeilen
    Wenn vor einem Sub oder nach einem End Sub Text steht, der kein Kommentar ist, führt das zu dieser Fehlermeldung. Entferne alle überflüssigen Zeilen.

  • Fehler: Falsche Reihenfolge der Subs
    Wenn du die Reihenfolge der Subs vertauschst, kann dies ebenfalls zu Problemen führen. Halte die logische Reihenfolge ein.

  • Fehler: Fehlende Kommentare
    Kommentare sollten mit einem ' beginnen. Stelle sicher, dass alle Kommentare korrekt formatiert sind.


Alternative Methoden

Wenn du die Fehlermeldung weiterhin erhältst, kannst du folgende alternative Methoden ausprobieren:

  • Code in einen neuen Modul verschieben: Manchmal hilft es, den gesamten Code in ein neues Modul zu kopieren und dort zu testen.
  • Makros schrittweise ausführen: Kommentiere Teile des Codes aus, um zu identifizieren, wo der Fehler auftritt.
  • Excel zurücksetzen: In extremen Fällen kann es hilfreich sein, Excel auf die Werkseinstellungen zurückzusetzen.

Praktische Beispiele

Hier ist ein praktisches Beispiel für einen korrekt strukturierten VBA-Code:

Private Sub Workbook_Open()
    Dim sh As Worksheet
    ' Prüfe, ob die Mappe gesperrt ist
    If IsWorkbookLocked() Then
        MsgBox "Die Mappe ist gesperrt."
        ThisWorkbook.Close False
    Else
        ' Unprotect alle Blätter
        For Each sh In ThisWorkbook.Worksheets
            sh.Unprotect
        Next sh
    End If
End Sub

Private Function IsWorkbookLocked() As Boolean
    ' Hier wird die Logik implementiert
    IsWorkbookLocked = False ' Beispielwert
End Function

Achte darauf, dass jeder Sub und Function korrekt beendet wird, um die Fehlermeldung zu vermeiden.


Tipps für Profis

  • Verwende Option Explicit: Dies zwingt dich, alle Variablen zu deklarieren, was die Fehlersuche erleichtert.
  • Nutze Debugging-Tools: Setze Haltepunkte im VBA-Editor, um den Code Schritt für Schritt auszuführen.
  • Halte den Code sauber: Organisiere deinen Code in Modulen und verwende Kommentare, um die Lesbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Was bedeutet die Fehlermeldung genau?
Die Fehlermeldung zeigt an, dass nach einem End Sub oder End Function keine weiteren Anweisungen stehen dürfen, außer Kommentaren.

2. Wie kann ich meine Makros testen?
Du kannst deine Makros im VBA-Editor testen, indem du sie schrittweise ausführst und Haltepunkte setzt.

3. Was mache ich, wenn der Fehler weiterhin besteht?
Überprüfe deinen Code auf Syntaxfehler, entferne überflüssige Zeilen und stelle sicher, dass alle Subs korrekt strukturiert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige