Цвет каждой строки на основе нажатия кнопок - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть куча кнопок для каждого ряда. (Диапазон A1: A200) Я хотел бы щелкнуть по каждому из них, и тогда он выполнит требуемое действие (например, цвет) по всей строке (диапазон A: Q). То, как мой код настроен в данный момент, мне, вероятно, потребуется внести изменения в функцию btn_click и вызвать это.

'This creates buttons for the selected range

    Range("A2:A200").Select
    Dim btn As Button
    Application.ScreenUpdating = False
    ActiveSheet.Buttons.Delete
    Dim t As Range
    ' Find the First & Last Row number of selection
    Dim x As Long, y As Long
    x = Selection.Rows(1).Row
    y = Selection.Rows.Count + x - 1

    For i = x To y ' Loop from first row to last row
       Set t = ActiveSheet.Range(Cells(i, 1), Cells(i, 1))
       Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
       With btn
         .OnAction = "btn_Click"
         .Caption = "LineBreak "
         .Name = "Line Break "
       End With'
    Next i

    Application.ScreenUpdating = True
End Sub

Sub btn_Click()

    '//CODE NEEDS TO GO IN HERE

End Sub

1 Ответ

1 голос
/ 29 апреля 2019

Это довольно просто с кнопками формы:

Sub btn_Click()
    Intersect(ActiveSheet.Shapes(Application.Caller).TopLeftCell.EntireRow, Range("A:Q")).Interior.Color = vbRed
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...