Error '13' en tiempo de ejecución, no coinciden los tipos

13' en excel estoy utilizando VBA el problema me lo arroja en can = TextBox2.Text debido que al momento de borrar el numero el campo pasa a no tener nada y como esta declarado Integer la variable me arroja el error. Mi pregunta es cual podría ser una solución a mi problema ya que he probado muchas maneras y aun no puedo resolver esto. Muchas gracias

------------------------------------------------------------------------------------------------------------------------------------------

Private Sub TextBox2_Change()

Dim can As Integer
Dim subt As Double

can = TextBox2.Text
subt = Round(can * Me.LISTA.List(y, 3))
Label8 = subt

End Sub

---------------------------------------------------------------------------------------------------

Private Sub TEXTO_Change()

NumeroDatos = Sheets("Farmacos").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Farmacos").AutoFilterMode = False
Me.LISTA = Clear
Me.LISTA.RowSource = Clear
y = 0

For fila = 2 To NumeroDatos
codigo = Sheets("Farmacos").Cells(fila, 2).Value

If UCase(codigo) Like "*" & UCase(Me.TEXTO.Value) & "*" Then
Me.LISTA.AddItem
Me.LISTA.List(y, 0) = Sheets("Farmacos").Cells(fila, 1).Value
Me.LISTA.List(y, 1) = Sheets("Farmacos").Cells(fila, 2).Value
Me.LISTA.List(y, 2) = Sheets("Farmacos").Cells(fila, 3).Value
Me.LISTA.List(y, 3) = Round(Sheets("Farmacos").Cells(fila, 4).Value)
y = y + 1
End If

Next
End Sub

---------------------------------------------------------------------------------------------------------------------------

Private Sub UserForm_Activate()
Me.LISTA.RowSource = "Farmacoss"
Me.LISTA.ColumnCount = 4

End Sub

1 Respuesta

Respuesta
2

Se puede poner una condición que haga que salga del sub sin hacer nada mientras el textbox no sea numérico...

Private Sub TextBox2_Change()

    if not isnumeric(textbox2) then Exit sub

                 ' si no es numérico sale sin hacer nada

Dim can As Integer
Dim subt As Double

can = TextBox2.Text

subt = Round(can * Me.LISTA.List(y, 3))
Label8 = subt

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas