Adaptar código a un formulario

Hola tengo el siguiente código,
Sub AUTOMATICO()
Dim Y As Range
u = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
With Hoja1.Range("A1:A" & u)
Y:
W = InputBox("plu")
If W = "" Then GoTo FIN
CONSUMO = InputBox("DIGITE CONSUMO")
STOK = InputBox("DIGITE STOK")
    Set C = .Find(W, LookIn:=xlValues, LookAt:=xlWhole)
    If Not C Is Nothing Then
    C.Activate
    Selection.Interior.ColorIndex = 33
    C.Offset(0, 4) = CONSUMO
    C.Offset(0, 5) = STOCK
        Else
    End If
    GoTo Y
End With
FIN:
End Sub
Lo que hace es buscar un código dentro de una planilla y asignarle el consumo y el stock de dicho código,,, lo que necesito es adaptarlo a un formulario.

1 Respuesta

Respuesta
1
Necesito saber qué es lo que quieres hacer precisamente.
¿Qué campos tendría el formulario?
¿A qué dato correspondería cada campo?
¿Qué es lo que no sabes hacer?
Ok, tengo una hoja de excel en donde están todos los medicamentos que se manejan, en la columna A están los códigos, en la B esta la descripción, en la E el consumo y en la F es stock,.. mediante la macro lo que hago es ingresar el código del medicamento, el consumo y el stock, la macro busca ese código y actualiza los respectivos campos. Lo que quiero es adaptar esa rutina que tengo a un formulario en donde maneje text box para ingresar los datos (código, consumo y stock), no se si soy claro... si algo me puedes enviar una dirección de email a donde te pueda mandar la planilla que tengo...
Ok, ahora creo entender la idea.
Si lo he entendido bien, esto lo lo que necesitas:
Debes crear un UserForm con los siguientes contreles:
- Tres campos de texto: txtCodigo, txtConsumo y txtStock
- Un botón: cmdActualiza
Y debes pegar este código en la sección de código del formulario.
Sub AUTOMATICO()
    u = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
    With Hoja1.Range("A1:A" & u)
        W = Me.txtCodigo.Text
        Set C = .Find(W, LookIn:=xlValues, LookAt:=xlWhole)
        If Not C Is Nothing Then
           C.Activate
           Selection.Interior.ColorIndex = 33
           C.Offset(0, 4) = Me.txtConsumo.Text
           C.Offset(0, 5) = Me.txtStock.Text
        End If
    End With
End Sub
Private Sub cmdActualiza_Click()
    AUTOMATICO
End Sub
-------------------------
Frente a cualquier duda, intentaré responderte a la brevedad
Gracias el formulario funciona perfecto, ¿pero se podría hacer que cuando actualice los datos vuelva a quedar automáticamente en el txtCodigo para ingresar nuevamente los datos?... algo así como otro cmd de reiniciar para voler a la posición inicial cuando le de enter
Esta es la forma de limpiar los campos y darle el enfoque al campo código
    'Limpiar los campos
    Me.txtCodigo.Text = ""
    Me.txtConsumo.Text = ""
    Me.txtStock.Text = ""
    Me.txtCodigo.SetFocus
Este código debe ejecutarse después de haber asignado los datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas