Несоответствие или ошибка диапазона
Приведенный ниже код дает либо Несоответствие, либо Ошибка диапазона в 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