El problema es porque el dato a buscar no se encuentra.
Para controlar el error al buscar un dato, podrías utilizar el método Find, te anexo el ejemplo, en el objeto b estoy estableciendo el resultado de la búsqueda, si es encontrado, entonces en el objeto b, tengo todas las propiedades de la celda: la fila, la columna, el color, el valor, etc
Private Sub CommandButtonModificar_Click()
'Act.Por.Dante Amor
'buscar el dato con el método Find
'establece en el objeto b el resultado de la búsqueda
Set b = Sheets(1).Range("B3:C20").Find(ComboBoxBuscar, lookat:=xlWhole)
If Not b Is Nothing Then
'si el dato es encontrado, se incrementa la fila + 2
bus_id = b.Row + 2
With Sheets("Stock productos")
.Range("C" & bus_id).Value = TextBox2
.Range("D" & bus_id).Value = TextBoxDescripcion
.Range("E" & bus_id).Value = TextBoxPreventista
.Range("F" & bus_id).Value = TextBoxCosto.Value
.Range("G" & bus_id).Value = TextBoxUnitario.Value
.Range("H" & bus_id).Value = TextBoxCategoria
End With
Else
'si no se encontró
MsgBox "Dato no encontrado"
End If
End Sub
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.