144 Aufrufe
Gefragt in Tabellenkalkulation von addeguddi Experte (2.7k Punkte)
Guten Morgen, Habe ein Modul erstellt aber sowie ich auf das Feld der Dartscheibe klicke,  da hinter der D.-Scheibe Felder und Typ Bezeichnung hinterlegt sind erscheint Fehler: Fehler beim kompilieren Mehrdeutiger Name. Ich weiß nicht was falsch ist. Vielleicht hat jemand eine Idee. Damit damit soll bezweckt werden das jeder klick und die Punktzahl in bestimmte Spalten und Zeilen eingefügt werden: Ein Teil vom Modul siehe unten. Kurze Erläuterung zu S, D, T.  S bedeutet Single, D- Doppel T- Tripple

Sub VerarbeiteKlick(Feld As Integer, Typ As Integer)
    ' Punkte verrechnen
    Call Punkte_verrechnen(Feld, Typ)

    ' Klicks zählen und zuordnen
    Dim Spieler As Integer
    Dim Wurf As Integer
    Dim Spalte As Integer
    Dim Zeile As Integer

    ' Nummer des aktiven Spielers auslesen
    Spieler = Range("T6").Value

    ' Anzahl der Würfe für den Spieler ermitteln
    Wurf = WorksheetFunction.CountA(Range(Cells(32, Spieler * 3 - 2), Cells(42, Spieler * 3))) + 1

    ' Berechne die Position der Zelle
    Zeile = Int((Wurf - 1) / 3) + 32
    Spalte = ((Wurf - 1) Mod 3) + Spieler * 3 - 2

    ' Punkte eintragen
    Cells(Zeile, Spalte).Value = Feld * Typ
End Sub

Sub Null_click()
    Call VerarbeiteKlick(1, 1)
End Sub
Sub S1_click()
    Call VerarbeiteKlick(1, 1)
End Sub
Sub D1_click()
    Call VerarbeiteKlick(1, 2)
End Sub
Sub T1_click()
    Call VerarbeiteKlick(1, 3)
End Sub
Sub S1_click()
    Call VerarbeiteKlick(2, 1)
End Sub
Sub D2_click()
    Call VerarbeiteKlick(2, 2)
End Sub
Sub T2_click()
    Call VerarbeiteKlick(2, 3)
End Sub
Sub S1_click()
    Call VerarbeiteKlick(3, 1)
End Sub
Sub D3_click()
    Call VerarbeiteKlick(3, 2)
End Sub

Schönen Tag noch.

Gruß Adde

3 Antworten

+1 Punkt
Beantwortet von computerschrat Profi (32.8k Punkte)
Hallo Adde,

ich denke das Problem liegt in der doppelten S1_click

Gruß computerschrat
+2 Punkte
Beantwortet von computerschrat Profi (32.8k Punkte)
Hallo Adde,

da durch den Datenverlust der letzten Tage auch diese Antwort verloregn gegangen ist, hier nochmal inhaltlich das gleiche:

Wenn mit Klick auf A1 mehrere Dinge ausgeführt werden sollen, dann musst du die in eine gemeinsame S1_click() Unterroutine packen. also

Sub S1_click()
    Call VerarbeiteKlick(1, 1)
    Call VerarbeiteKlick(2, 1)
End Sub

Gruß computerschrat
0 Punkte
Beantwortet von addeguddi Experte (2.7k Punkte)
Hallo Computerschrat

Danke für deine Antwort

Gruß Adde
...