Duda Macro para Formulario con BuscarV y BuscarH

Hola, de antemano muchas gracias por la ayuda. Necesito esto para mi trabajo y sobrepasa por mucho mis conocimientos de VisualBasic, ojalá alguien pueda ayudarme. 

Diseñé este formulario, quisiera que al abrirlo en la página actual.

En el espacio del formulario, poner un valor en "Progresivo" y que este lo busque en la fila que corresponda. Por ejemplo si pongo 1 correspondería a la fila 6. Después al presionar ENTER se vaya a el siguiente campo o sea "Concepto" y ahí tendría que ingresar alguno de los valores que se encuentran en la fila 5, en la imagen aparecen "Sueldo", "11", "13", "20", "22" etc. Necesito esto porque capturo varios trabajadores y no todos perciben los mismos conceptos. Al dar ENTER se vaya al campo "Importe" al presionar ENTER inserte en la Hoja el valor en la columna que corresponda de acuerdo al progresivo y al concepto, por ejemplo si pongo en el formulario Progresivo "1", Concepto "Sueldo", Importe "2371.92", inserte en la celda B6 2371.92

Otro ejemplo

Progresivo "1"

Concepto "33"

Importe "469"

Inserte en la celda L6 469

Quisiera que si le doy en el botón "Siguiente", inserte los datos y se vaya al campo del formulario "Concepto", se decir para seguir capturando el mismo progresivo. 

Y al presionar el botón del formulario "Aceptar", inserte los datos y esta vez si se vaya al campo "Progresivo". Esto significa que ya terminé todos los conceptos de este progresivo y quiero que cambiar este valor. 

Al dar cancelar salga del formulario.

Es decir, la macro del formulario debe de ser algo así como un BuscarH y un BuscarV

Los valores de Progresivo ya están dados en la Columna A, es decir tiene que Buscar el Progresivo en la columna A, Buscar el Concepto en la fila 5  e insertar el Importe. Si se presiona "Siguiente" ir a el campo de "Concepto" y si se presiona "Aceptar" ir al campo de "Progresivo".

De nuevo muchas gracias a quien se tome el tiempo de ayudarme.

Saludos.

1 respuesta

Respuesta
1

Envíame tu archivo con el formulario para adaptar el código.

Hola Dante. Te acabo de enviar correo. Muchas gracias!

Saludos.

Te faltó el archivo de excel

Hola Dante. 

Te lo acabo de mandar por correo.

Saludos. 

Te anexo la macro con lo siguiente:

- Insertar cuando presionas enter.

- Limpiar los datos cuando presionas el botón Siguiente

- Limpiar los datos cuando presionas el botón Aceptar

- Salir del formulario cuando presionas Cancelar

- Adicionalmente te puse los consecutivos de la hoja en un combobox, puedes capturar el consecutivo o seleccionarlo de la lista.

- También te puse los Conceptos de la hoja en un combobox, puedes capturar le Concepto o seleccionarlo de la lista.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    ComboBox2 = ""
    TextBox1 = ""
    ComboBox2.SetFocus
End Sub
Private Sub CommandButton2_Click()
'Por.Dante Amor
    ComboBox1 = ""
    ComboBox2 = ""
    TextBox1 = ""
    ComboBox1.SetFocus
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    If TextBox1 <> "" Then
        f = ComboBox1.ListIndex + 6
        c = ComboBox2.ListIndex + 2
        Cells(f, c) = Val(TextBox1)
    End If
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
    'carga consecutivos
    For i = 6 To Range("A" & Rows.Count).End(xlUp).Row
        If Cells(i, "A") = "" Then Exit For
        ComboBox1.AddItem Cells(i, "A")
    Next
    'carga valores
    For i = 2 To Cells(5, Columns.Count).End(xlToLeft).Column
        ComboBox2.AddItem Cells(5, i)
    Next
    ComboBox1.SetFocus
End Sub
Private Sub CommandButton3_Click()
'Por.Dante Amor
    Unload Me
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Dante antes que nada quiero agradecerte.

Ahora aprovechándome de tu buena onda puedo hacerte una consulta más? 

Cómo es que hiciste que buscara el consecutivo y el concepto? 

Te pregunto esto porque como verás en el archivo, cada hoja tiene 2 Quincenas:

La Primer Quincena ocupa de A1:BR49 Posteriormente tengo Unos trabajadores que manejo aparte, que Van de A57:P7 (que aquí lo que podría hacer es cortar lo que va de A66:H72 para que todo quede junto y no cortado.

Después vienen estos mismos trabajadores pero ya corresponden a la Segunda Quincena (lo sé, tengo un relajo)

La Segunda Quincena ocupa de A109:BQ159

Lo que yo pensaba hacer es modificar los consecutivos, que A6 fuera 1 y así hasta A49, siendo este 44. Luego A113 45 y hasta A156 88.

Esto para que al poner consecutivo lo buscara y coincida.

Por eso te pregunto cómo hiciste que buscara el consecutivo.

Acepto cualquier sugerencia que tengas para no complicarme la vida.

Podría ser agregar otro campo en el formulario parecido a como funciona consecutivo (es decir, hasta que yo lo modifique quede igual, para no tener que estarlo capturando) el cuál sea opción Primer Quincena o Segunda Quincena y continuar con los consecutivos como los tienes en el archivo que te lo mandé. 

O modificar los consecutivos como he explicado antes.

Te hice bolas? jajajajaja

Dante de verdad no sabes como agradezco tu ayuda. 

Saludos 

Con gusto te sigo ayudando, valora esta respuesta y crea una nueva. En la nueva pregunta explica lo de las quincenas. Si quieres, en al final del título de la pregunta puedes poner que va dirigida a Dante Amor. En el texto de la pregunta describe lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas