396 Aufrufe
Gefragt in Tabellenkalkulation von addeguddi Experte (2.5k Punkte)

Hallo Guten Morgen,

vielleicht kann mir jemand noch einmal helfen. Möchte für meine Dartliste das in einer Zelle die Punktzahl angezeigt wird. Habe aus anderer Liste wo es klappt bestimmte Anweisungen kopiert und in das VBA kopiert.

Doch hier wird egal wie ich es mache ein Fehler angezeigt. Fehler beim Kompilieren If- Block ohne End IF. Leider kann ich mit diesem Begriff nichts anfangen. 

Das ist das, was ich gerne in mein Doppel Out mit einbeziehen möchte, aber ich weiß nicht wie.

   'Anzeige
    Range("fn2") = "Geworfen: " & Cells(arrRueck(3), arrRueck(4)).Value + Cells(arrRueck(3), arrRueck(4) - 2) + Cells(arrRueck(3), arrRueck(4) - 1) & vbLf & "Rest: " & Cells(6, arrRueck(4) - 2).Value
    lngAnsage = Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 1) + Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 2) + Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 3)
    Start_Ansage (lngAnsage)
    'Anzeige nach 5 Sekunden wieder löschen
    Application.Wait Now + TimeValue("00:00:3")
    Range("fn2") = ""
  End If
End If

Wäre sehr nett wenn mir jemand helfen könnte

Gruß Adde

4 Antworten

+1 Punkt
Beantwortet von steffen2 Experte (6.4k Punkte)

in dem Code hier gibt es 2 mal

End If

Aber nie

If

Das passt nicht zusammen.

Jeder Beginn (if) benötigt ein Ende (end if)

Gruß Steffen2

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Vilen Dank für die Antwort,

da ich das in VBA nicht verstehe was das überhaupt bedeutet. Habe ich jetzt das END IF gelöscht und nun zeigt er mir das an, was ich wollte.

Danke für den Hinweis

Gruß Adde
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo nochmals ich,

war zu voreilig.

Jetzt sagt er mir, bei Spieler 1 Wurf 1, an: anstatt 60 -  61 Wurf 2 anstatt 120 - 122 Wurf 3 die 180. Die 180 wäre OK aber nach dem dann der zweite Spieler am Wurf ist kommt die Ansage 180 egal was ich werfe.

Was kann ich da ändern?

Gruß Adde
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo

habe Lösung gefunden.

Neuer Code

hier für die Ansage und Anzeige
'prüfen, ob Überworfen
If bUeberw = True Then
  Start_Ansage (0)
Else
  'prüfen ob Anzahl der Würfe ohne Rest durch 3 Teilbar ist oder Checkout vorliegt
  If Cells(lngSZeile, lngWSpalte).Value Mod 3 = 0 And Cells(1, lngSpalte).Value <> "Checkout" Then
   'Anzeige
    Range("fn2") = "Geworfen: " & Cells(arrRueck(3), arrRueck(4)).Value + Cells(arrRueck(3), arrRueck(4) - 2) + Cells(arrRueck(3), arrRueck(4) - 1) & vbLf & "Rest: " & Cells(6, arrRueck(4) - 2).Value
    lngAnsage = Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 1) + Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 2) + Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 3)
    Start_Ansage (lngAnsage)
    'Anzeige nach 5 Sekunden wieder löschen
    Application.Wait Now + TimeValue("00:00:3")
    Range("fn2") = ""
  End If
End If

'Checkout; 999 = Game over
If Cells(1, lngSpalte).Value = "Checkout" Then Start_Ansage (999)

Gruß Adde
...