The problem with your code which I suspect is that Sheets("Productos")
is not the activesheet. So Rows(i3).Delete
is referring to the activesheet which might not be Sheets("Productos")
Notice the use of DOTS in the code below.
Try this (TRIED AND TESTED)
Sub Sample()
Dim LR3 As Long, i3 As Long
With Sheets("Productos")
LR3 = .Range("A" & .Rows.Count).End(xlUp).Row
For i3 = LR3 To 2 Step -1
If Not IsNumeric(.Range("A" & i3).Value) Then .Rows(i3).Delete
Next i3
End With
End Sub
EDIT: I missed the Blank Cell part but thanks to Jimmy's post, I saw that.
Amended Code
Sub Sample()
Dim LR3 As Long, i3 As Long
With Sheets("Productos")
LR3 = .Range("A" & .Rows.Count).End(xlUp).Row
For i3 = LR3 To 2 Step -1
If Not IsNumeric(.Range("A" & i3).Value) Or _
.Range("A" & i3).Value = "" Then .Rows(i3).Delete
Next i3
End With
End Sub