Excel Russisch Roulett?
Ich hab mich an Russische Roulett gewagt...
Und dabei folgendes asuprobiert
Der Schieß Button ist mit folgendem Macro verknüpft:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
Sub Drehung()
'
' Drehung Makro
'
'
Dim i As Integer
Dim z As Integer
Range("C100").Select
Selection.ClearContents
i = 0
z = Cells(1, 1)
'Schnelles Drehen
Do Until i = 100
i = i + 1
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.ChartGroups(1).FirstSliceAngle = z
Range("R22").Select
If z < 355 Then
z = z + 5
Else
z = 0
End If
Application.Calculate
Sleep (6)
DoEvents
DoEvents
Loop
'Langsames Drehen
Do Until i = 165
i = i + 1
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.ChartGroups(1).FirstSliceAngle = z
Range("R22").Select
If z < 358 Then
z = z + 2
Else
z = 0
End If
Application.Calculate
Sleep (6)
DoEvents
DoEvents
Loop
End Sub
Und nun zu meiner Frage ist es irgendwie möglich die Grad in den das Diagramm2 (also die "Trommel" | Kreis ) zeigt mit einer Formel anzuzeigen.
Ich brauch dies um zu wissen ob der Spieler dann stirbt oder nicht.
(Andere Vorschläge wie es zu ermöglichen ist , sind offen )
Danke für eure Hilfe im Vorraus!!
3 Antworten
Mit Elevation evtl.
https://docs.microsoft.com/de-de/office/vba/api/excel.chart.elevation
Ich habe es nicht ausprobiert.
Vielleicht findest du hier noch etwas passendes:
ne weil die startdrehung wird am anfang zufällig durch randbetween ausgelöst und dann wird sozusagen von der startdrehung 630° gedreht... das problem ist ich kann jtz nicht einfach die stratdrehung nehmen und 630° drauf adden weil durch die ständigen 5° schritte der drehung, calculiert er randbeetwen auch neu
Kannst du den Code bitte schreiben... Ich weiß nicht ganz genau was du meinst:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
Sub Drehung()
'
' Drehung Makro
'
'
Dim i As Integer
Dim z As Integer
Range("C100").Select
Selection.ClearContents
i = 0
z = Cells(1, 1)
'Schnelles Drehen
Do Until i = 100
i = i + 1
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.ChartGroups(1).FirstSliceAngle = z
Range("R22").Select
If z < 355 Then
z = z + 5
Else
z = 0
End If
Application.Calculate
Sleep (6)
DoEvents
DoEvents
Loop
'Langsames Drehen
Do Until i = 165
i = i + 1
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.ChartGroups(1).FirstSliceAngle = z
Range("R22").Select
If z >= 190 And z <= 205 Then
Range("A5") = "Tod"
End If
Range("R22").Select
If z < 358 Then
z = z + 2
Else
z = 0
End If
Application.Calculate
Sleep (6)
DoEvents
DoEvents
Loop
End Sub
Zusatzinfo ich will dass wenn der kreis eine drehung hat zwischn 190 und 205 dass dann zb in A5 tod steht (Am besten wäre es wenn es erst in a5 steht wenn die drehung vorbei ist)
Am naheliegendsten wäre, du lässt das Marko den finalen Wert von z in eine Zelle schreiben, auf die du sich mit einer Formel beziehen kannst.
Hier mal eine Drehung, die ggf für dich passt.
Shape Objekt drehen (herber.de)
ich glaub irh versteht mich alle falsch... es dreht sich schon... (wenn ihr euch den code vielleicht mal anschaut ._.) aber ich wollte wissen ob jemand weiß wie man mit eincem command die grad eines kreises in einer zelle anzeigen lassen kann
Wenn du weißt wieviel Grad es sich gedreht hat dann mit
Range("A1").Value = "Dein Gradwert"
das wird glaub ich nur bei 3d Diagrammen benutzt aber ich benutz ein 2d kreis