196 Aufrufe
Gefragt in Tabellenkalkulation von addeguddi Experte (2.6k Punkte)

Hallo und guten Morgen , nochmal ich 

wie kann ich erreichen, dass aus der Ansage - Datei das Ergebnis angesagt wird. ich weiß nicht wie ich die Zuordnung gestalten soll. Wäre schön, wenn mich hierbei jemand unterstützen könnte. Das wäre die Date

https://supportnet.de/forum/?qa=blob&qa_blobid=14184952589409171100

Gruß Adde

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)

Hallo Adde,

die Ergebnisse der Würfe liegen lt. dem Makro in dem Verzeichnis "C:\ProgramData\Dart2014\Sounds\" . Die Dateinamen entsprechen dem jeweiligen Wurf-Ergebnis, also z.B. 15.mp3 und steht in der Variable lngWurf. Prüfe, ob das Verzeichnis stimmt und die Ansagen vorhanden sind.

Der Aufruf der Ansage-Funktion erfolgt normalerweise über dein Worksheet_BeforeDoubleClick-Ereignis, da dort ja der Wert des Wurfes ermittelt wird und mit dem Befehl Start_Ansage(lWurfergebnis) das Abspielen des entsprechenden Wurf-Ergebnisses gestartet wird.

Den entsprechenden Befehl müsstest dann bei der Abrechnung nach drei Darts ergänzen (wenn ich das richtig sehe). Dort müsstest du (vielleicht nach dem MsgBox-Befehl) die Zeile ergänzen:

Start_Ansage(iSum)

Gruß

M.O.

 

0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Hallo M.O.

vielen lieben Dank für deine Antwort. Habe dein Vorschlag in das VBA gesetzt aber ich krieg es nicht hin.

Na ja kann ich nichts machen.

Trotzdem nochmals Danke

Gruß Adde
0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Hallo M.O.,

Rückfrage: Habe ein wenig rum gespielt und habe folgendes erreicht. Das VBA für die Ansage habe ich in ein neues Modul gesetzt und das was du vorgeschlagen hast Start_Ansage (iSum) gemacht, nun sagt er mir den ersten Wurf und den zweiten Wurf an nur den dritten Wurf sagt er No Score. Könnte man das >>Start Ansage >> so ändern das es sich auf Die Zelle A 7 in der die Summe die angezeigt wird und wenn das Endziel erreicht ist auf die Zelle A8 zugreift?

Gruß Adde
+1 Punkt
Beantwortet von m-o Profi (22.8k Punkte)

Hallo Adde,

ich habe mir das Makro noch einmal angeschaut.

Probiere mal die folgende Version:

..

'Berechnung des Werts pro Dart je Spieler
Select Case Target.row
    Case 3 To 22
        Select Case Target.Column
            Case 2, 3, 4    'B1
                iDarts = iDarts + 1
                iValue = (Cells(Target.row, 5) * (Target.Column - 1))
                iSum = iSum + iValue
                Cells(iDarts + 2, 1) = iValue
            Case 6, 7, 8    'F1
                iDarts = iDarts + 1
                iValue = (Cells(Target.row, 5) * (Target.Column - 5))
                iSum = iSum + iValue
                Cells(iDarts + 2, 9) = iValue
        End Select
    Case 23 To 25
        Select Case Target.Column
            Case 2, 3, 4
                iDarts = iDarts + 1
                iValue = Cells(Target.row, 5)
                iSum = iSum + iValue
                Cells(iDarts + 2, 1) = iValue
            Case 6, 7, 8
                iDarts = iDarts + 1
                iValue = Cells(Target.row, 5)
                iSum = iSum + iValue
                Cells(iDarts + 2, 9) = iValue
        End Select
End Select

'Ansage
Start_Ansage (iValue)

'Abrechnung nach drei Darts, Reset der Public Integers
If iDarts = 3 Then
    MsgBox iSum, , iDarts & " Darts"
    Select Case Target.Column
        Case 2, 3, 4
            rngLeft.Clear
            Cells(1, 1) = Cells(1, 1) + iSum
        Case 6, 7, 8
            rngRight.Clear
            Cells(1, 9) = Cells(1, 9) + iSum
    End Select
    iDarts = 0
    iSum = 0
End If

...
Probiere das mal aus.
Du kannst natürlich auch auf die Zellinhalte zugreifen, aber in deiner Beispieltabelle sind die Zellen A7 und A8 leer.
Gruß
M.O.
0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Hallo M.O. Danke,

habe es eingefügt jetzt sagt er zu mindestens nach 2 Würfe die Gesamtzahl an und dann den 3ten Wurf als einzelnen Wert. Ich experimentiere noch ein wenig, vielleicht kriege ich es noch  hin.

Ich glaube es liegt an Abfrage der MsgBox

Liber Grüße Adde
...