Страница 1 из 1

количество кнопок на екране

Добавлено: 19 ноя 2014, 08:34
jaroslav
Добрый день. Можно ли посчитать количество кнопок, которые видны на екране (не скрытые)? Сейчас их 8, а после скрытия строк 1-3 должно быть 6. Файл прилагаю

Re: количество кнопок на екране

Добавлено: 19 ноя 2014, 11:51
jaroslav

Код: Выделить всё

ActiveSheet.Buttons.Count
считает количество кнопок на всем листе. Подскажите, пожалуйста, как посчитать количество кнопок в скрытых строках (столбцах)

Re: количество кнопок на екране

Добавлено: 19 ноя 2014, 16:02
pashulka

Код: Выделить всё

'Если видимость кнопок действительно нужно ограничивать экраном,
'то, возможно, нам понадобится ActiveWindow.VisibleRange

Private Sub Test()
    Dim iList As Worksheet, iButton As Button, iCount&
    
    Set iList = ActiveSheet 'ThisWorkbook.Worksheets(1)
    For Each iButton In iList.Buttons
        With iList.Range(iButton.TopLeftCell, iButton.BottomRightCell)
             If Not (.EntireRow.Hidden Or .EntireColumn.Hidden) Then
                iCount = iCount + 1
             End If
        End With
    Next
    
    MsgBox "Видимых кнопок (в т.ч. и частично) = " & iCount
End Sub

Re: количество кнопок на екране

Добавлено: 19 ноя 2014, 19:13
jaroslav
Спасибо, pashulka