#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?