У меня есть этот код
Sub search()
Dim dato As String
Dim filallibre As String
dato = InputBox("Type 1 Or 2?")
filalibre = Sheets(dato).Range("A65000").End(xlUp).Row + 1
If dato = "" Then Exit Sub
Set buscado = ActiveSheet.Range("A1:A" & Range("A65000").End(xlUp).Row).Find(dato, LookIn:=xlValues, lookat:=xlWhole)
If Not buscado Is Nothing Then
ubica = buscado.Address
Do
buscado.EntireRow.Copy Destination:=Sheets(dato).Cells(filalibre, 1)
filalibre = filalibre + 1
Set buscado = ActiveSheet.Range("A1:A" & Range("A65000").End(xlUp).Row).FindNext(buscado)
Loop While Not buscado Is Nothing And buscado.Address <> ubica
End If
End Sub
Я получаю сообщение об ошибке в моем коде, когда я запускаю макрос, он отлично работает, когда я набираю "1", но когда вы вводите "2", он делает работу, котораяперемещает строки на лист с именем «2», но не останавливается, кажется, что он продолжает работать до тех пор, пока я не нажму «Esc», после чего появится окно с сообщением об ошибке, ошибка будет отображаться в строке
Loop While Not buscado Is Nothing And buscado.Address <> ubica
как я могу решить это?
РЕДАКТИРОВАТЬ [6/7]
большое спасибо за ваши предложения, я попробовал некоторые из ваших предложений и, кажется, либо я тожеnoob для этого уровня VBA или что-то совершенно не так с моим кодом, здесь я ссылка на мой файл Excel , если кто-то хочет проверить его и посмотреть, можете ли вы найти проблему
В основном то, что делает файл, когда я запускаю макрос с помощью Ctrl + Shift + K, это запрашивает «1» или «2», затем он определяет, какие строки имеют 1 или 2 в столбце A, и перемещает эти строки на лист.1 или 2 в зависимости от того, какой номер я ввел в поле ввода, это работаетхорошо с "1", но не с "2"