Изменение цвета кнопки в VBA при отправке пользовательской формы - PullRequest
0 голосов
/ 09 ноября 2018

Прежде всего, я прошу прощения, если это повторный вопрос, я не могу найти ответ, но могу искать неправильно.

У меня есть выбор форм, которые я хочу изменить цвет,При нажатии они подтягивают пользовательскую форму.Когда пользовательская форма отправлена, я хочу изменить цвет фигуры с красного на зеленый (чтобы указать, что он завершен).

I Первоначально записываю информацию из пользовательской формы и название фигуры на отдельных листах (лист записи). Затем я хочу изменить цвет той фигуры, по которой щелкнули.

Sub SubmitButton_Click()
Dim RecordSheet As Worksheet
Dim BottomRow As Integer
Dim ButtonText As String

Set RecordSheet = Worksheets("Record Sheet")

BottomRow = WorksheetFunction.CountA(RecordSheet.Range("A:A")) + 1
ButtonText = Application.Caller

RecordSheet.Cells(BottomRow, 1) = Now()
RecordSheet.Cells(BottomRow, 2) = ButtonText
RecordSheet.Cells(BottomRow, 3) = IssuesTextBox.Value
If No.Value = True Then
RecordSheet.Cells(BottomRow, 4) = "No"
Else
RecordSheet.Cells(BottomRow, 4) = "Yes"

End If

'Changing the color of the shape that was clicked here

Unload Me

End Sub

1 Ответ

0 голосов
/ 09 ноября 2018

Предполагая, что форма является обычной формой Excel, которую вы связали с макросом ... сохраните исходный лист и форму, на которую вы нажали, выполните код ... и затем измените цвет заливки формы ... что-то как ...

Sub ShapeSubmitButton_Click()

    Dim vSheet As Worksheet
    Dim vShape As Shape

    Set vSheet = ActiveSheet
    Set vShape = vSheet.Shapes(Application.Caller)

    ' YOUR CODE HERE ....

    vShape.Fill.ForeColor.RGB = rgbGreen

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...