Делать При Несоответствии Типов

#vba #while-loop #type-mismatch

Вопрос:

Я получаю ошибку несоответствия типов в своем операторе IF. Кажется, я не могу решить эту проблему. Мы ценим вашу помощь!

 Sub practice()

    Dim i As Long
    Dim myrange As Range
    Set myrange = Worksheets("test").Range("A1:O26")
    
    i = 1
    
    Do While i <= 9999
        If Worksheets("test").Range("A1:O26").Offset(0, i - 1).Value = "" Then
            
            Exit Do
        
        End If
        
        Worksheets("test_table").Range("rest_out").Offset((i - 1) * 24, 0) =_ 
        Worksheets("test").Range("A1:O26").Offset(0, i - 1)
        Worksheets("test_table").Range("rest_out").Offset((i - 1) * 24, 0).Font.Bold = True
        
        i = i   1
    Loop

End Sub
 

Комментарии:

1. Вы сравниваете массив со строкой.

2. .Offset возвращает объект диапазона. Это ваш текущий диапазон, сдвинутый на некоторое количество ячеек. Вы не можете воспользоваться .Value диапазоном. Вы пытаетесь сравнить только одну ячейку?

3. Вы не можете сравнивать несколько значений непосредственно с одним значением, что вы в настоящее время делаете в своем операторе If. Что вы на самом деле пытаетесь проверить с помощью оператора If?