Datos en un textbox formulario

Hola. Al introdur una palabra en un textbox de formulario
¿Cómo puedo hacer que la empiece por g y darle aceptar me la lleve a la columna A, la que empiece por b y darle aceptar a la columna C y así sucesivamente en el mismo Textbox?. Gracias por la atención.

1 Respuesta

Respuesta
1
El siguiente código hace los que pides cargando los datos en A1 y C1 de "Mihoja". Si necesitas que a cada pulsación se incremente la celda entonces necesitas saber cual es la primera celda vacía del rango correspondiente. Algo parecido a este código te lo indicaría, siempre que haya algo en A1 y A2.
fila = 1 + Range("A1", Range("A2").End(xlDown)).Row.Count
Si tienes problemas dímelo.
El código para asociar al texbox del formulario es el siguiente. Tendrás que adaptarlo a tu caso.
Private Sub TextBox1_KeyDown(ByVal KeyAscii As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim c As String
If KeyAscii = 13 Then 'Se pulso Enter
  c = TextBox1.Text
  Select Case LCase(Left(c, 1))
  Case "g"
     Worksheets("Mihoja").Range("A1").Value = c
  Case "b"
     Worksheets("Mihoja").Range("C1").Value = c
  Case others
End Select
End If
End Sub
Es perfecto prozac.
Si, necesito que busque la siguiente celva vacía cada vez que haga la pulsación pero que no incremente celdas. También que se quede en blanco el textbox al ejecutar aceptar para dar entrada al siguiente dato. ¿Es posible que si le doy el dato con un escáner código de barras haga la ejecución aceptar automático?. Muchísimas gracias.
Lo primero no lo entiendo. Si necesitas la siguiente celda vacía de la columna será para escribir ahí el dato. ¿Es así? Para eso la sentencia que te puse al principio, adaptada a tu caso te dice la fila vacía siguiente, la columna es la misma.
Ten en cuenta que puedes escribir rangos de varias maneras:
Range ("A1")
Range("A" & i)   'si i vale 1
Range(Cells(1,1),Cells(1,1) ) 
Todas estas maneras representan el mismo rango: la celda A1
Poner el cuadro en blanco se puede hacer antes de abandonar el procedimiento pero detrás del end select, con TextBox1. Text =""
Normalmente cuando lees con un escáner de códigos de barras, éste trae un software y algún tipo de configuración que te permite añadir delante o detrás o incluso en medio strings a los números que ha leído. Tendrás que configurarlo para que lo haga así, para que añada al final un enter.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas