Jak zmienić kolor wypełnienia kształtu za pomocą przycisku Excel 2013 w VBA?


-1

Próbuję opracować doskonałą wersję karty wyników baseballu z diamentami reprezentującymi od pierwszej do trzeciej bazy i pięciokątem do bazy domowej.

Obecnie pracuję tylko z pierwszymi graczami mrugającymi i bazowymi informacjami dotyczącymi biegania w pierwszej zmianie i skopiuję działający kod do reszty innych graczy oraz w innych inningach. Umieściłem ukryte przyciski na każdej podstawie, przycisk na okręgu Out, cztery przyciski do piłek i trzy przyciski do uderzeń.

  1. Istotą jest to, że kiedy rzucona jest piłka lub uderzenie, odpowiedni przycisk jest klikany, a kolor tylnych przycisków zmieni się na ciemnoszary . Jeśli gracz jest poza, przycisk na górze koła wyjściowego jest klikany i wypełnia go kolorem czarnym kolorem. Dla każdej podstawy biegacz sprawia, że ​​bezpiecznie, kliknięcie przycisku i podstawa jest wypełniona czarnym kolorem. Po kliknięciu przycisku bazy domowej, jeśli wypełnia ona bazę czarnym kolorem i zwiększa wynik w polu wyniku głównego o jeden. Czy to zadziała, a jeśli tak, to czy ktoś mógłby mi pomóc w części VBA każdego wydarzenia?

  2. Jeśli z jakiegokolwiek powodu zostanie popełniony błąd, odpowiedni przycisk można kliknąć ponownie i cofnie on poprzednie kliknięcia.

  3. Metodą, której użyję do testowania, jest kliknięcie każdego przycisku, aby zobaczyć odpowiedź i efekt. Jeśli przyciski pierwszych graczy działają bez wpływu na innych graczy, przejdę do następnego gracza, aby sprawdzić, czy kliknięcie przycisków tych graczy nie wpływa na żaden z poprzednich przycisków. Tak dalej i tak dalej, aż dojdę do ostatniego gracza w ostatniej rundzie. Zakładam, że nie będę musiał testować przycisków poszczególnych graczy i że po trzech lub czterech graczach działających poprawnie, wszystkie przyciski graczy będą działać poprawnie.

** Używam MS Excel 2013 i przycisków ActiveX dla baz oraz kółka Out i formowania przycisków dla piłek i uderzeń.


jakie jest twoje aktualne pytanie? Udostępnij zrzut ekranu i odpowiedni kod, który już opracowałeś? Zadaj konkretne pytanie (teraz nie jest jasne, w jaki sposób tytuł jest powiązany z twoim pytaniem).
Máté Juhász

Należy pamiętać, że Super User nie jest usługą pisania skryptów. Jeśli powiesz nam, co próbujesz do tej pory (w tym skrypty, których używasz) i gdzie utknąłeś, możemy spróbować pomóc w rozwiązaniu określonych problemów. Powinieneś także przeczytać Jak zadać dobre pytanie? .
DavidPostill

Odpowiedzi:


0

Nie jest wcale jasne, jakiej pomocy potrzebujesz. Ten kod utworzy przycisk w arkuszu:

Sub Creator()
    Dim shp As Shape

    Set shp = ActiveSheet.Shapes.AddShape(1, 100, 10, 60, 60)
    shp.TextFrame.Characters.Text = "Press Me"
    shp.Name = "MyButton"
End Sub

Po utworzeniu kształtu przypisz mu to makro:

Sub ButtonPressCode()
    Dim shp As Shape, R As Integer, G As Integer, B As Integer

    Set shp = ActiveSheet.Shapes("MyButton")
    With Application.WorksheetFunction
        R = .RandBetween(1, 255)
        G = .RandBetween(1, 255)
        B = .RandBetween(1, 255)
    End With
    shp.Fill.ForeColor.RGB = RGB(R, G, B)
End Sub

za każdym kliknięciem przycisku kształt zmienia kolor:

wprowadź opis zdjęcia tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.