HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
365 privat
Erfahrungslevel des Fragestellers:
Kaum Excel/VBA-Kenntnisse
UdPa
18.06.2026 20:20:45
AW: Sprachausgabe in Excel
Es gibt keinen anderen Code der code soll einfach die spielerliste von B2 bzw. H2 vorlesen, ich möchte lediglich die müglich keit dies auch abbrechen zu können
LG
Als Antwort auf diesen Beitrag
Robert Pilz
18.06.2026 19:55:54
AW: Sprachausgabe in Excel
Ja, das geht grundsätzlich. Das Problem liegt meist nicht in Worksheet_Change, sondern in der Prozedur SpielerHinzufuegen, insbesondere wenn dort die Sprachausgabe (SAPI.SpVoice) mit Speak verwendet wird. Während Excel auf die Ansage wartet, reagiert es oft nicht mehr.

Möglichkeit 1: ESC zum Abbrechen zulassen

Wenn deine Ansage in einer Schleife läuft, kannst du regelmäßig DoEvents einbauen:

DoEvents
If Abbruch = True Then Exit Sub

Dadurch verarbeitet Excel Tastatureingaben wieder.

Möglichkeit 2: F12 als Not-Aus-Schalter

Lege in einem normalen Modul an:

Public Abbruch As Boolean

Sub NotAus()
Abbruch = True
End Sub

Beim Start der Arbeitsmappe:

Private Sub Workbook_Open()
Application.OnKey "{F12}", "NotAus"
End Sub

Vor dem Start einer Ansage:

Abbruch = False

Und in längeren Schleifen:

DoEvents

If Abbruch Then
MsgBox "Ansage abgebrochen!"
Exit Sub
End If
Möglichkeit 3: STRG+PAUSE

Bei VBA kann man oft mit Strg + Pause/Untbr einen laufenden Code anhalten. Das funktioniert aber nicht immer bei Sprachausgaben oder API-Aufrufen.

Möglichkeit 4: Sprachausgabe asynchron starten

Falls du so etwas verwendest:

voice.Speak Text

blockiert Excel bis die Ansage fertig ist.

Besser:

voice.Speak Text, 1

Die 1 entspricht SVSFlagsAsync.

Dadurch läuft die Ansage im Hintergrund weiter und Excel bleibt bedienbar.

Um dir die beste Lösung zu geben, bräuchte ich den Code der Prozedur:

SpielerHinzufuegen

Dort sitzt sehr wahrscheinlich die eigentliche Ursache für das Einfrieren.
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.