У меня проблема с кодом VBA. Я пытаюсь сравнить 2 столбца, как столбцы A, так и B. Если некоторые данные совпадают, например, скажем, что A2 содержит текст в B3, тогда мне нужно сравнить ячейку C2 с столбцом D. Я не понимаю, почему, но я получаю ошибку «End If without block If». Большое спасибо за помощь парням.VBA For loop with If loop
Вот мой код:
Sub Compare()
For i = 1 To 100
For j = 1 To 50
If InStr(1, ActiveSheet.Cells(i, 1).Value, ActiveSheet.Cells(j, 2).Value, vbTextCompare) <> 0 _
Then For k = 1 To 20
If InStr(1, ActiveSheet.Cells(i, 3).Value, ActiveSheet.Cells(k, 4).Value, vbTextCompare) <> 0 Then MsgBox i
End If
Next k
End If
Next j
Next i
End Sub
так, как вы построили ваш IF заявления (все находится на 1 линии) End If не требуется. Избавьтесь от обоих End Ifs, и вам должно быть хорошо идти. – sous2817
Или - сделайте их блоком, если в конце концов - вставьте разрыв строки после слова 'Then'. Тот факт, что вы используете символы продолжения строки, говорит о том, что ваши линии становятся громоздкими. –