Как изменить цвет заливки фигуры с помощью кнопки Excel 2013 в VBA?

-1

Я пытаюсь разработать превосходную версию бейсбольной системы показателей с бриллиантами, представляющими основание с первой по третью, и пятиугольником для домашней таблички.

В настоящее время я работаю только с первыми игроками-ватинами и запуском информации во время первого тайма и скопирую рабочий код остальным игрокам и другим иннингу. Я поместил скрытые кнопки сверху каждой базы, кнопку сверху круга Out, четыре кнопки для шаров и три кнопки для ударов.

  1. Суть в том, что при броске мяча или удара щелкает соответствующая кнопка, и цвет кнопки назад становится темно-серым . Если игрока нет, то нажимается кнопка в верхней части внешнего круга, которая заполняет круг черным цветом. Для каждой базы бегун делает это безопасно, кнопка нажата, и база заполнена черным цветом. Когда нажимается кнопка «Домашняя пластина», заполняет домашнюю пластинку черным цветом и увеличивает счет в поле домашней отметки на единицу. Будет ли это работать, и если так, кто-нибудь, пожалуйста, помогите мне с частью VBA каждого события?

  2. Если по какой-либо причине была допущена ошибка, можно нажать соответствующую кнопку еще раз и отменить действия предыдущих нажатий.

  3. Метод, который я буду использовать для тестирования, - это нажатие на каждую кнопку, чтобы увидеть ответ и эффект. Если кнопки первых игроков работают, не влияя на других игроков, я перейду к следующему игроку, чтобы увидеть, влияет ли какая-либо предыдущая кнопка на нажатие кнопок этих игроков. Так и так далее, пока я не достигну последнего игрока в последнем иннинге. Я предполагаю, что мне не нужно будет проверять кнопки каждого отдельного игрока и что после трех или четырех игроков, работающих правильно, все кнопки игроков будут работать правильно.

** Я использую кнопки MS Excel 2013 и ActiveX для оснований и круг Out и кнопки формы для шаров и ударов.

Нейт
источник
какой у тебя актуальный вопрос? Пожалуйста, поделитесь скриншотом и соответствующим кодом, который вы уже разработали? Пожалуйста, задайте конкретный вопрос (сейчас не ясно, как заголовок связан с вашим вопросом).
Мате Юхас
Обратите внимание, что Super User не является сервисом написания скриптов. Если вы сообщите нам, что вы уже пробовали (в том числе какие-либо сценарии, которые вы используете) и где вы застряли, тогда мы можем попытаться помочь с конкретными проблемами. Вы также должны прочитать Как мне задать хороший вопрос? ,
ДэвидПостилл

Ответы:

0

Не совсем понятно, какая помощь вам нужна. Этот код создаст кнопку на листе:

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

После того, как Shape был создан, назначьте ему этот макрос:

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

с каждым нажатием кнопки форма будет менять цвет:

введите описание изображения здесь

Ученик Гэри
источник