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

F8 Taste für Einzelschritt

F8 Taste für Einzelschritt
20.09.2022 23:47:00
Willi
Hallo Fachleute!
Ich habe wieder ein Problem in meinem Excel 365 endeckt:
folgendes: wenn ich einen VBA code (kein Makrorekorder) im Tabellenblatt eingebe kann ich mit der F8 TASTE keinen Einzelschritt machen.
wenn ich Makrocode bearbeite dann geht der Einzelschritt mit der F8 Taste. Wer kann mir helfen und einen Tipp geben. Ich habe schon einiges
im Netz gesucht.
Mfg Willi

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: F8 Taste für Einzelschritt
21.09.2022 06:28:44
Steffen
Kurz für mich, du versuchst einen einen VBA Code im Tabellenblatt anzuwenden oder du befindest dich im VBA Editor? (ALT+F11)
Ereignismakro?
21.09.2022 06:35:23
RPP63
Moin!
Ein Ereignismakro wird durch das entsprechende Ereignis getriggert.
Dies kannst Du nicht mittels F8 starten.
Was Du hingegen machen kannst:
Füge in der ersten Zeile des Makros einen Haltepunkt ein und "starte" das Makro durch das Ereignis.
(ändere eine Zelle und bestätige mit Enter; das Worksheet_Change wird gestartet. Jetzt kannst Du mit F8 steppen)
Gruß Ralf
AW: F8 Taste für Einzelschritt
21.09.2022 09:26:23
Rudi
Hallo,
wahrscheinlich erfordert das Makro einen Parameter (Target etc). Makros mit Parameter kann man grundsätzlich nicht einfach mit F8 starten, da dann der Parameter fehlt. Du brauchst also zusätzlich eine Startprozedur. Die kannst du mit F8 durchgehen.
z.B.

Sub StartSC()
Call Worksheet_SelectionChange(Range("A1"))
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Target.Address
End Sub
Gruß
Rudi
Anzeige
AW: F8 Taste für Einzelschritt
21.09.2022 14:50:20
Willi
Hallo Leute
Vielen Dank für Eure Bemühungen.
Ich starte meine Exceltabelle und gehe in VBA
Mein code steht bei „Worksheets“ und „SelectionChange“
Ich gehe mit dem Cursor in den Text und versuche mit dem Menü „Debuggen“
den Befehl Einzelschritt (F8) auszuführen. Geht nicht!!!
Das einzige ist, ich kann ein Haltepunkt einfügen und wenn ich auf Ausführen klicke
Kkappt das Makro Fenster auf, was ich ja garnicht brauche.
Bei meinen Modulen (kleine Makros, die Makros stehen im Makrofenster ) da geht der Befehl Einzelschritt mit der Taste F8 allerdings.
Was ist hier faul und wie kann ich das Problem beheben?
Mfg Willi
Anzeige
hab ich doch geschrieben.
21.09.2022 15:06:24
Rudi

Makros mit Parameter kann man grundsätzlich nicht einfach mit F8 starten
und Worksheet_SelectionChange hat nun mal Target als Parameter.

Worksheet_SelectionChange(ByVal Target As Range)
Und das hat nichts mit Excel 365 zu tun sondern ist schon immer so.
Gruß
Rudi
AW: hab ich doch geschrieben.
21.09.2022 16:51:15
Willi
Hallo Rudi
Dein Text: (Makros mit Parameter kann man grundsätzlich nicht einfach mit F8 starten)
Ich will das Makro ja nicht mit F8 starten, sonder Zeile für Zeile kontrollieren. Das geht auch bei meinen Makros.
Dein Text: (und Worksheet_SelectionChange hat nun mal Target als Parameter). Dieser Programmcode habe ich in der Tabelle eingebunden.
Hier kann ich keinen Einzelschritt machen da die Taste F8 nicht funktioniert.
Übrrigens im Web gibt es auch Kolegen die mit diesem Problem kämpfen.
Es ist vielleicht nur eine falsche Einstellung in Excel. Ich werde weiter forschen. Das Problem behindert mich nicht in meiner Programmierung,
nur ist es lästig ständig das Programm über das Tabellenblatt auszuprobieren.
Mfg Willi
Anzeige
Was verstehst Du daran nicht?
21.09.2022 17:16:31
{Boris}
Hi,
Ereigniscodes haben nun mal einen Parameter - in diesem Fall den Parameter Target. Daher kann man nicht einfach "in den Code gehen" und ihn zeilenweise mit F8 durchgehen, da für den Code die (zwingend notwendige) Variable Target nicht belegt / bekannt ist.
Wie es geht, hat Dir Rudi bereits gezeigt.
Übrrigens im Web gibt es auch Kolegen die mit diesem Problem kämpfen.
Dann haben die es auch alle nicht kapiert.
VG, Boris
Das geht auch bei meinen Makros.
21.09.2022 18:53:32
Rudi
Dann hast du noch nie ein Makro mit Parameter geschrieben.
Versuch mal das in einem Modul mit F8 durchzugehen.

Sub test(s As String)
MsgBox s
End Sub
hingegen

Sub startTest()
Call test("Blabla")
End Sub
funktioniert.
Gruß
Rudi
Anzeige
AW: Das geht auch bei meinen Makros.
21.09.2022 20:57:39
Willi
Hallo Rudi,
eine kleine Programmzeile anbei.
--Sub Neuer_Datensatz()
--Dim letzte_zeile As Long
--etzte_zeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 0
--Range("A" & letzte_zeile).Select
--End Sub Bei diesem kleinen Programm (Beispiel), heftet in meiner Tabelle eine neue Zeile an.
Diesen Code kann ich mit der F8 Taste Zeile für Zeile durchgehen.
Die 2 Dreizeiler die Du mir geschickt hast geht die Taste F8 natürlich nicht.
Um diesen Code unten geht es in meiner Frage:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column  9 Then Exit Sub
Dim letzte_zeile As Integer
letzte_zeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
If ActiveCell.Row()  2 Or Target.Row 

Bei diesem Code funktioniert die Taste F8 nicht.
Dieser Code liegt auf der Tabelle1, und es wäre gut wenn ich die Befehle mit de F8 Taste
durch gehen könnte.
mfg Willi

Anzeige
AW: Das geht auch bei meinen Makros.
21.09.2022 21:30:02
Willi
Hallo
ich habe, unabhängig vom vorherigen Problem, noch eine Feststellung gemacht:
Es gibt seit Excel 365 den Befehl XVERWEIS. Ist es richtig, daß diese Funktion bei Tabellen die als inteligente Tabelle formatiert ist nicht funktioniert?
Mfg Willi
Klar geht das...
22.09.2022 09:29:40
{Boris}
Hi,
...warum auch nicht?
Userbild
Du darfst halt nur keinen Spill erzeugen, denn intelligente Tabelle und Spill vertragen sich nicht.
VG, Boris
AW: Klar geht das...
22.09.2022 15:21:16
Willi
Hallo Boris
zum Problem mit XVERWEIS habe ich folgendes festgestellt:
bei meiner inteligenten Tabelle bekomme ich immer den Hinweis "Überlauf"
die Tabelle fängt allerdings in Zeile 2 an. ?
mache ich eine normale Tabelle daraus dann funktioniert der Befehl "XVERWEIS"
Ich kann mit dem Befehl "SVERWEIS" auch leben.
Grüße Willi
Anzeige
Dann zeig doch mal...
22.09.2022 17:04:36
{Boris}
Hi,
...Dein Beispiel, mit dem Du einen ÜBERLAUF!-Fehler erzeugst.
Wahrscheinlich hast Du mehrere Suchkriterien innerhalb der XVERWEIS-Formel - das hatte ich ja geschrieben, dass es nur EINS sein darf (das gilt auch für den SVERWEIS).
Fazit: XVERWEIS und intelligente Tabelle funktionieren beide zusammen natürlich tadellos!
VG, Boris
Wie sollen wir es...
22.09.2022 09:05:20
{Boris}
Hi,
...Dir noch erklären?
Um diesen Code unten geht es in meiner Frage:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Bei diesem Code funktioniert die Taste F8 nicht.

Das SelectionChange-Ereignis benötigt eine OBJEKTvariable - und zwar Target - und diese Variable wird als Ereignis durch Selektion im Tabellenblatt gefüllt.
Du befindest Dich aber im VBA-Editor - somit ist Target nicht vorhanden - und man kann den Code nicht "einfach so" mit F8 durchgehen.
Was genau verstehst Du daran nicht?
VG, Boris
Anzeige
das VBA-Level gut ...
22.09.2022 10:12:37
Rudi
... relativiert sich anhand seines Codes und vor allem an dieser, wenn auch auskommentierten, Zeile:

'If Target.Column 
Wie kann man überhaupt auf diese Idee kommen?
Gruß
Rudi
Das ist doch nur...
22.09.2022 11:07:54
{Boris}
Hi Rudi,
...eine Frage der Einstellung in den Optionen ;-)
Userbild
VG, Boris
AW: Das geht auch bei meinen Makros.
22.09.2022 09:39:09
UweD
Hallo
SelectionChange reagiert auf jede Zellaktivierung (Click oder auch per Scroll)
Wenn du eine Zelle auswählst..
- Wenn nicht I dann Ende
- du ermittelst die letzte Zelle in I mit Eintrag
- wenn kleiner als Letzte Zeile, dann Ende
- Du wechselst in dieser Zeile (F:G ) die Formeln in Werte
- und dann geht es in K weiter (mangels Datei kann ich nicht prüfen was du dann machst)
Dadurch, dass du immer wieder .Select verwendest, wird das SelectionChange immer wieder aufgerufen.
Auf select kann in 99% verzichtet werden.
Hier mal ein angepasster Code.
Um das Problem mit dem F8 zu unterstützen:... Schreibe oben im Code vorübergehend ein "Stop" in eine Zeile.
Dann hält das Makro hier an und du kannst mit F8 weitergehen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Stop 'zum Testen
If Target.Column  9 Then Exit Sub
Dim letzte_zeile As Integer
letzte_zeile = Cells(Rows.Count, Target.Column).End(xlUp).Row
If Target.Row  2 Or Target.Row 
LG UweD
Anzeige
AW: Das geht auch bei meinen Makros.
22.09.2022 15:39:21
Willi
Hallo UweD
vielen Dank für Deine Mühe.
Mir ist übernacht ein Licht aufgegangen!
Ich wusste nicht mehr, daß ich ein ebengleiches Modul mal geschrieben habe und einige Teile des Cods
konnte ich einsetzten. Ich bin erleichtert.
Zu meinem Programm kurze Beschreibung: Ein "Haushaltsbuch eigenbau mit Zeilenweise Einträge."
Ich habe eine Tabelle1 mit Spalten: Konto;Datum;Buchungstext;Kategorie;Unterkategorie;Ausgaben;Einnahmen;Kummuliert
Konto und Datum wird von der Zelle darüber übernommen. Hier hatte ich den Gedankenhänger.
Beim eingeben des Buchungstextes werden die anderen hinterlegten (Tabelle2=Kategorie) Einträge mit SVERWEIS übernommen.
Dafür hätte ich gerne mit XVERWEIS gearbeitet.
Die Zelle Ausgaben und Einnahmen werden, wenn Msgbox "Ja", gespeichert, da ich nur den Wert haben möchte.
Hurra es funktioniert!
Mfg Willi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige