Я использую подпрограмму, в которой мне нужно подсчитать количество отмеченных флажков в групповом поле и сделать это для нескольких групповых блоков.
Изменить: я забыл упомянуть, что я использую элементы управления формы, а не элементы управления ActiveX.
Моя первая проблема - создание массива групповых блоков. Я пытался использовать
GB_Array = Activesheet.Shapes.Range(Array(Cells(x, y), Cells(z, y))) ' x,y,z defined elsewhere
Я могу сделать это, добавив вручную, но это не идеально. Моя вторая проблема с этой частью:
Option Base 1
Dim cbox as Checkbox
Dim C_cbox as Integer
GB_Array = Array("Name1", "Name2") ' Manually adding groupboxes to the array
For i = 1 to Ubound(GB_Array, 1)
For Each cBox In Activesheet.Shapes.Range(GB_Array(1))
If cBox.Checked = True Then
C_cbox = C_cbox + 1
End If
Next cBox
Next i
Возвращает ошибку несоответствия типов 13.
РЕДАКТИРОВАТЬ: Похоже, что я сделал ошибку, сгруппировав групповой блок с флажками, ответ работает для «разгруппированных» групповых блоков (поэтому я могу перемещать групповые блоки без флажков).