Я пытаюсь запустить подпрограмму, чтобы изменить значение ряда флажков, основанных на значении ячейки, в которой находится запись. У меня Sub как общедоступная в модуле, потому что она используется несколько раз в разных подпрограммы внутри самой пользовательской формы. Мой код ниже.
Public Sub ExceptionBoxCheck(ControlNameList As Range, BrevCodeList As Range, RecordValueRow As Range, BrevCodeColumn As Integer, AvailCheckBoxes As Integer)
Dim ControlName As String, i As Integer, CodeCellContent As String
Dim BrevCode As String
For i = 0 To AvailCheckBoxes
BrevCode = BrevCodeList.Offset(i, 0).Value
CodeCellContent = RecordValueRow.Offset(0, BrevCodeColumn).Value
ControlName = ControlNameList.Offset(i, 0).Value
If InStr(CodeCellContent, BrevCode) <> 0 Then
Me.Controls(ControlName).Value = True
End If
Next i
End Sub
Предполагается, что вышеприведенная подпрограмма будет проходить по списку имен элементов управления и сравнивать их с текущим именем элемента управления, который проверяется с помощью EasCheckBoxes, представляющего собой общее количество проверяемых блоков. Проблема, с которой я сталкиваюсь, заключается в том, что я получаю сообщение об ошибке «Неправильное использование меня», и я не могу найти ничего, что решает эту конкретную проблему. Единственное, о чем я могу думать, это то, что существует проблема, вызванная наличием этого сабвуфера в Module2, а не в самой пользовательской форме.