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
daniel
19.06.2026 17:00:37
AW: Sprachausgabe in Excel
ach je, mal wieder KI = Betreuung auf Kindergartenniveau.
dann halt der ganze Code zum kopieren und einfügen nochmal für dich
Option Explicit

Public Abbruch As Boolean

Sub Spielerlisten_Ansage()

Dim s As Object
Dim ws As Worksheet
Dim r As Long
Dim nameH As String, nameD As String
Dim countH As Long, countD As Long
Dim herrenVorhanden As Boolean, damenVorhanden As Boolean
Dim txt As String, t

Set ws = Sheets("Spielerliste")
Set s = CreateObject("SAPI.SpVoice")


' ===========================
' ===== TURNIERART CHECK ====
' ===========================
nameH = ws.Cells(2, 2).Text ' Herren B2
nameD = ws.Cells(2, 8).Text ' Damen H2

herrenVorhanden = (nameH <> "")
damenVorhanden = (nameD <> "")

If Not herrenVorhanden And Not damenVorhanden Then
txt = txt & vbLf & "Es sind keine Spieler gemeldet."
Exit Sub
End If

If Not herrenVorhanden And damenVorhanden Then
txt = txt & vbLf & "Es wird ein reines Damenturnier gespielt."

ElseIf Not damenVorhanden And herrenVorhanden Then
txt = txt & vbLf & "Es wird ein Herren oder Mixed Turnier gespielt."

End If

' ===========================
' ===== STARTMELDUNG ========
' ===========================
txt = txt & vbLf & "Achtung! Es werden alle gemeldeten Spieler vorgelesen."
'Sleep 500

' ===========================
' ===== HERREN VORLESEN =====
' ===========================
If herrenVorhanden Then

If damenVorhanden Then
' Nur sagen, wenn beide vorhanden
txt = txt & vbLf & "Ich beginne mit den Herren."

End If

r = 2
nameH = ws.Cells(r, 2).Text

Do While nameH <> ""
txt = txt & vbLf & nameH
countH = countH + 1

r = r + 1
nameH = ws.Cells(r, 2).Text
Loop


End If

' ===========================
' ===== DAMEN VORLESEN ======
' ===========================
If damenVorhanden Then

If herrenVorhanden Then
' Nur sagen, wenn beide vorhanden
txt = txt & vbLf & "Nun folgen die Damen."

End If

r = 2
nameD = ws.Cells(r, 8).Text

Do While nameD <> ""
txt = txt & vbLf & nameD
countD = countD + 1

r = r + 1
nameD = ws.Cells(r, 8).Text
Loop


End If

' ===========================
' ===== ABSCHLUSSANSAGE =====
' ===========================
If countH > 0 And countD > 0 Then
txt = txt & vbLf & "Es sind " & countH & " Herren und " & countD & " Damen gemeldet."
ElseIf countH > 0 Then
txt = txt & vbLf & "Es sind " & countH & " Herren gemeldet."
ElseIf countD > 0 Then
txt = txt & vbLf & "Es sind " & countD & " Damen gemeldet."
End If

'=====================
'=== Sprachausgabe ===
'=====================
If MsgBox(txt, vbYesNo, "Ansage sprechen") = vbYes Then
For Each t In Split(txt, vbLf)
DoEvents
If Abbruch Then Exit For
s.Speak t
DoEvents
Next
End If
Abbruch = False
End Sub
Als Antwort auf diesen Beitrag
UdPa
19.06.2026 16:42:06
AW: Sprachausgabe in Excel
Lieben Dank

Aber jetzt versteh ich leider nur mehr Bahnhof

LG
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.