Я не уверен, что то, что ты пытаешься сделать, можно сделать так, как ты это попробовал. Вот как я бы это сделал:
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».