Diesmal ne kurze Frage:
Mit der F8 Taste kann man doch VBA Codes schrittweise durchlaufen.
Warum funktioniert das bei mir nur in sub- Anweisungen und NICHT mit Function´s ?
geht das überhaupt mit Function´s ?
Schönen Dank
Hubitz
Sub blabla()
Msgbox Deine_Function(Parameter)
End Sub
Grüße Boris
Sub test()
msgbox demo(5)
End Sub
Function Demo(imp As Long)
imp = imp * imp
imp = imp+5
imp = imp /2
demo = imp
End Function
Setz den Cursor in Test und starte mit F8
Gruss Rainer
VBA-Editor öffnen: Drücke ALT
+ F11
, um den VBA-Editor in Excel zu öffnen.
Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)", wähle "Einfügen" und dann "Modul".
Code eingeben: Schreibe im Modul den gewünschten VBA-Code, der eine Funktion beinhaltet. Zum Beispiel:
Function Demo(imp As Long)
imp = imp * imp
imp = imp + 5
imp = imp / 2
Demo = imp
End Function
Sub-Prozedur erstellen: Erstelle eine Sub-Prozedur, die die Funktion aufruft:
Sub Test()
MsgBox Demo(5)
End Sub
F8 zum Schrittweisen Ausführen verwenden: Setze den Cursor in die Test
-Sub und drücke die F8
-Taste, um den Code schrittweise auszuführen. Du solltest jetzt jeden Schritt genau verfolgen können.
F8 Taste funktioniert nicht: Stelle sicher, dass der Cursor in einer Sub-Anweisung steht. Die F8
-Taste funktioniert nur, wenn die Sub oder eine von außen aufgerufene Funktion aktiv ist.
VBA Code wird nicht ausgeführt: Überprüfe, ob die Funktion von einer Sub aufgerufen wird. Wenn du versuchst, direkt in einer Funktion zu debuggen, kann F8
nicht verwendet werden.
Falls du Schwierigkeiten hast, die F8
-Taste zu verwenden, kannst du auch folgende Methoden ausprobieren:
Debug.Print: Verwende Debug.Print
, um Werte während der Ausführung in das Direktfenster auszugeben.
Function Demo(imp As Long)
imp = imp * imp
Debug.Print imp ' Wert wird im Direktfenster ausgegeben
Demo = imp
End Function
MsgBox zur Fehlerüberprüfung: Füge MsgBox
-Anweisungen ein, um den Ablauf der Funktion zu verfolgen.
Hier ein Beispiel, wie du eine Funktion schrittweise mit F8
ausführen kannst.
Function Teilergebnis(zahl As Double) As Double
Teilergebnis = zahl / 2
End Function
Sub Beispiel()
Dim ergebnis As Double
ergebnis = Teilergebnis(10)
MsgBox ergebnis
End Sub
Setze den Cursor in die Beispiel
-Sub und drücke F8
, um die Berechnung Schritt für Schritt zu verfolgen.
Verwende Haltepunkte: Setze Haltepunkte, indem du auf die linke Randlinie im VBA-Editor klickst. Das Programm stoppt dann an diesen Punkten, sodass du auch ohne F8
gezielt debuggen kannst.
Nutze die Immediate
-Fenster: Verwende das Immediate
-Fenster, um Variablenwerte während des Debuggens zu prüfen.
1. Warum kann ich die F8-Taste nicht verwenden?
Die F8
-Taste funktioniert nur innerhalb einer Sub-Prozedur. Stelle sicher, dass du in einer Sub bist und nicht direkt in einer Funktion.
2. Kann ich mit F8 auch Variablenwerte sehen?
Ja, du kannst die Immediate
-Fenster verwenden, um Variablenwerte während des Debuggens zu prüfen, oder Debug.Print
einsetzen, um sie auszugeben.
3. Was mache ich, wenn die Funktion nicht korrekt ausgeführt wird?
Überprüfe, ob die Funktion korrekt von einer Sub aufgerufen wird und ob alle Übergabeparameter richtig gesetzt sind.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen