Несоответствие или ошибка диапазона

Приведенный ниже код дает либо Несоответствие, либо Ошибка диапазона в Excel 2008. Как это исправить?

Sub PEC()
    Dim PEC As String, result As Integer
    PEC = Range("AE2:AE26848").Value    
    If PEC = "A.06" Then result = 1    
    Range("AO2:AO26848").Value = result
End Sub

2 ответа

Sub PEC()
    For x = 2 to 26848
        If Range("AE" & x) = "A.06" Then Range("AO" & x) = 1
    Next x
End Sub

Я рекомендую использовать следующий код. Это может показаться более сложным, но это, безусловно, делает лучше и надежнее. Это просто назначение ваших входных и выходных диапазонов как SrcRng и DstRng. НАЙТИ метод для диапазонов - это хороший способ проверить конкретные значения.

Sub PEC ()

Dim SrcRng As Range
Dim DstRng As Range
Dim rcell As Range

Set SrcRng = Range ("AE2:AE26848")
Set DstRng = Range("AO2:AO26848")

Set rcell = SrcRng.Find(what:="A.06", after:=SrcRng.Cells(1, 1), _
                    LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
                    SearchDirection:=xlNext, MatchCase:=False)

If Not rcell Is Nothing Then
    DstRng.Value = 1
End If

End Sub

Другие вопросы по тегам