Как отформатировать нажатую кнопку BackColor как желтую в Excel VBA? - PullRequest
0 голосов
/ 05 февраля 2020

Попытка изменить фон кнопки не-ActiveX на желтый, если значение ячейки не пустое или "".

Бросок

Ошибка 424 Требуется объект

Sub Button37_Click()
    If Not IsEmpty(ActiveSheet.Range("I16")) Then
        Button37.BackColor = 65535
    End If
    Range("GuarantorDetails ").Copy
End Sub

1 Ответ

0 голосов
/ 05 февраля 2020

Я не уверен, что то, что ты пытаешься сделать, можно сделать так, как ты это попробовал. Вот как я бы это сделал:

Sub Button37_Click()

      If Not ActiveSheet.Range("I16") Is Nothing Then

        'I used the macro recorder here, just so that you can too. just copy paste what it gives you.
        With ActiveSheet.Shapes.Range(Array("Rectangle 1")).ShapeRange.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent4
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.400000006
            .Transparency = 0
            .Solid
        End With

    End If
      Range("GuarantorDetails").Copy
End Sub

Информация: я не думаю, что вы можете изменить цвет обычной кнопки, вместо этого использовать форму.

Я не думаю, что IsEmpty () дает непротиворечивые (если есть) результаты, если они используются в ячейке на листе.

В названном диапазоне есть пробел в имени. По крайней мере, для моей версии Excel это не разрешено.

Я создал прямоугольник и переименовал его в «Кнопка 37».

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