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 06:19:12
AW: Sprachausgabe in Excel
entschuldigung falschen code gepostet: Hier ist der Sprachcode

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

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

s.Speak "", 2
Sleep 300

' ===========================
' ===== 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
s.Speak "Es sind keine Spieler gemeldet."
Exit Sub
End If

If Not herrenVorhanden And damenVorhanden Then
s.Speak "Es wird ein reines Damenturnier gespielt."
Sleep 400
ElseIf Not damenVorhanden And herrenVorhanden Then
s.Speak "Es wird ein Herren oder Mixed Turnier gespielt."
Sleep 400
End If

' ===========================
' ===== STARTMELDUNG ========
' ===========================
s.Speak "Achtung! Es werden alle gemeldeten Spieler vorgelesen."
Sleep 500

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

If damenVorhanden Then
' Nur sagen, wenn beide vorhanden
s.Speak "Ich beginne mit den Herren."
Sleep 300
End If

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

Do While nameH <> ""
s.Speak nameH
countH = countH + 1
Sleep 200
r = r + 1
nameH = ws.Cells(r, 2).Text
Loop

Sleep 400
End If

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

If herrenVorhanden Then
' Nur sagen, wenn beide vorhanden
s.Speak "Nun folgen die Damen."
Sleep 300
End If

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

Do While nameD <> ""
s.Speak nameD
countD = countD + 1
Sleep 200
r = r + 1
nameD = ws.Cells(r, 8).Text
Loop

Sleep 400
End If

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

End Sub
Als Antwort auf diesen Beitrag
daniel
18.06.2026 22:46:28
AW: Sprachausgabe in Excel
Hi
dieser Code liest nichts vor.
dieser Code überprüft lediglich, ob ein Name, den du in Spalte B oder H eingibst, schon vorhanden oder neu ist und soll verhindern, dass du einen Namen doppelt eingibst.
ein Vorlesen findet hier nicht statt.
Gruß Daniel
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.