Я пытаюсь написать простой код VBA, который требует ввода пользователем числа от -9 до +9.Когда пользователь вводит число, код извлекает данные из определенных столбцов, относящихся к вводимому номеру, с одного листа на новый лист.У меня есть записанный код, но у меня проблема с функцией If Else.Я получаю сообщение об ошибке «Ошибка компиляции: синтаксическая ошибка».Если я избавлюсь от функции Else, код прекрасно работает для всего, что больше или равно 0, но мне нужно иметь возможность извлекать данные, относящиеся к отрицательным входам.Разве я не должен использовать If Else для этого кода?
Sub AA()
On Error Resume Next
er = Sheets("D2").Range("AA65536").End(xlUp).Row
ec = Range("IV1").End(xlToLeft).Column
r = 3
Range("A3:IV65536").ClearContents
For i = 504 To er
a = Sheets("D2").Cells(i, "AA")
If WorksheetFunction.IsErr(a) Then a = 0
If a >= Cells(2, 1).Value Then
For j = 2 To ec
f = Cells(1, j)
Cells(r, j) = Sheets("D2").Cells(i, f)
Next j
r = r + 1
Else a < Cells(2, 1).Value Then
For j = 2 To ec
f = Cells(1, j)
Cells(r, j) = Sheets("D2").Cells(i, f)
Next j
r = r + 1
End If
Next i
End Sub