Как исправить ошибку во время выполнения 1004 при циклическом переключении группы активных флажков - PullRequest
0 голосов
/ 24 октября 2019

У меня есть 98 флажков, встроенных в мой лист (Заказы). Я хочу иметь возможность выбрать определенные флажки, а затем нажать кнопку команды, которая будет проходить через флажки. Если он отмечен, я хочу, чтобы он отправлял информацию в этой строке на следующую пустую строку на другом листе (Sub COMPLETE). Затем я хочу очистить информацию в этой строке и переместить строки после этого вверх по строке. При переходе по подпрограмме я получаю:

ошибка 1004 'Ошибка приложения или объекта'

в операторе If. Я только учусь VBA, и я застрял на этом. Любая помощь будет оценена. Спасибо!

Private Sub cmbupdate_Click()  
    Dim i As Long  

    For i = 1 To 98  
        If CheckBoxes("CheckBox" & i).Value = True Then  
            Range("A" & (i + 3), "K" & (i + 3)).Select  
            Selection.Copy  
            COMPLETE  
            Selection.ClearContents  
            Range("A" & (i + 3).Select  
            ActiveCell.Offset(1).Select  
            Orders.Range(Selection, Selection.Offset(10)).Select  
            Orders.Range(Selection, Selection.End(xlDown)).Select  
            Selection.Cut Range("A" & (i + 3))  
            Range("A5", "K101").Select  
            AddBorder  
            Range("A4").Select  
            CheckBoxes("Checkbox" & i).Value = False  
        End If  
    Next  
End Sub

1 Ответ

0 голосов
/ 24 октября 2019

Функция CheckBoxes () хочет индекс вместо имени. Попробуйте использовать только число я, чтобы проверить. Кроме того, оператор if уже проверяет, является ли утверждение истинным, поэтому «= true» не требуется.

If CheckBoxes(i).Value Then
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...