Как бы я вытащил значения более 1000 флажков в Excel? - PullRequest
0 голосов
/ 28 августа 2018

Мне нужно установить значение флажка (версия Form Control) и вставить его в ячейку. Мне известен метод щелчка правой кнопкой мыши по флажку - Управление форматами - Вкладка управления - Ссылка на ячейку, но для таблицы, для которой мне нужно это сделать, имеется более 1000 флажков. Поэтому выполнение этого процесса было бы огромным испытанием!

Существует ли значение , установленное флажком в функции Excel? Другими словами, на какую переменную отреагирует этот флажок, если я вызову этот флажок в функцию?

т.е.: =IF(CheckBox3 = TRUE, "Complete", " ") (я имею в виду текст CheckBox3 )

Или есть альтернативный способ получения этой информации? Любая помощь или предложения будут высоко оценены! ( Фотография примера флажка )

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете зациклить коллекцию фигур и проверить, является ли она флажком, и применить вашу формулу

Option Explicit
Public Sub GetValues()
    Dim shp As Shape, counter As Long
    Application.ScreenUpdating = False
    With Worksheets("Sheet1")
        For Each shp In .Shapes
            If shp.Type = msoFormControl Then
                counter = counter + 1
                .Cells(counter, 1) = shp.NAME
                 If shp.ControlFormat.Value = 1 Then .Cells(counter, 2) = "Complete"
            End If
        Next
    End With
    Application.ScreenUpdating = True
End Sub

Вам может понадобиться добавить дополнительный тест, например, если они называются Флажок 1, Флажок 2 и т. Д., То что-то вроде:

If shp.Type = msoFormControl And InStr(shp.NAME, "Check Box") > 0 Then
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...