EXCEL VBA problemas help me

EXCEL VBA problemas con el código.

Pues si tengo un excel en cual se encarga en pocas palabras de pegar en una hoja una data y en otra hoja tengo una hoja vacía con un form para llenar dicha hoja, lo que hace el form es que lo tengo codificado para que yo con un lector de códigos pueda leer dichos códigos y en las celda de la hoja de excel me pegue la información de dicho código que tengo en la otra hoja de excel, el problema es que tengo el código en evento Change de dicho textbox y cuando leo un código con el lector lo que hace el lector es que : pone 1 por 1 cada dígito en gran velocidad y con cada dígito en el text box se toma como un evento Change y empieza el código a correr, les anexo el código para que vean:

Private Sub TrackingLabel_Change()
    Set h1 = Sheets("Insert_Sheet")
    Set h2 = Sheets("Actualizacion - Control de Entr")            'hoja donde se copian los datos
    Valor = TrackingLabel.Value
     blog = Error
    If Valor = "" Then Exit Sub
    Set b = h1.Columns("A").Find(Valor, lookat:=xlWhole)
    If Not b Is Nothing Then
        MensajeroLabel.Caption = h1.Cells(b.Row, "B")
        ClienteLabel.Caption = h1.Cells(b.Row, "E")
        ProductoLabel.Caption = h1.Cells(b.Row, "C")
        TCLabel.Caption = h1.Cells(b.Row, "D")
        CedulaLabel.Caption = h1.Cells(b.Row, "F")
        '
        fila = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
        serie = WorksheetFunction.Max(h2.Range("A2:A" & fila - 1)) + 1
        h2.Cells(fila, "A") = serie
        h2.Cells(fila, "B") = FechaLabel.Caption
        h2.Cells(fila, "C") = USERONLINE.Caption
        h2.Cells(fila, "D") = MensajeroLabel.Caption
        h2.Cells(fila, "E") = ClienteLabel.Caption
        h2.Cells(fila, "F") = TCLabel.Caption
        h2.Cells(fila, "G") = CedulaLabel.Caption
        h2.Cells(fila, "I") = TrackingLabel.Value
    If boton1.Value = True Then
      h2.Cells(fila, "H") = boton1.Caption
        End If
          If boton2.Value = True Then
      h2.Cells(fila, "H") = boton2.Caption
        End If
    Else
        blog = Error
        MsgBox "Tracking no encontrado", vbExclamation, blog
    End If
    TrackingLabel = Empty
End Sub

cuando leo con el lector, solo toma el primer digito, lo busca en la data y muestra el msgbox, el proceso no esta como yo lo espero AYUDA POR FAVOR no se como Optimatizarlo! 

Agrego tambien NOTA, mayormente los codigos que leo solo tienen 28Caracteres, no se si se puede agregar una opcion que al momento que el textbox llegue a tal rango de caractere haga algo

1 Respuesta

Respuesta
1

Cambia el evento Change por After Update, el código se ejecutara después de actualizar el campo y no cada vez que cambie, como actualmente lo hace.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas