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
19.06.2026 17:05:18
AW: Sprachausgabe in Excel
Sorry du hast sicher recht, aber wenn man keine Ahnung davon hat oder nur ganz wenig wird es für euch Profis als Kindergarten abgekänzelt. Zu Recht natürlich, aber wenn ich eine Lösung hätte hätt ich mich nicht an euch gewand. Entschuldige wenn es für dich ein Kindergartenspiel ist. Dennoch danke ich dir für deine Mühe, aber ich muss dir leider sagen das es noch immer nicht spricht



LG
Als Antwort auf diesen Beitrag
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
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.