Como consultar datos de una hoja de excel a un formulario usando un combobox y guardar cambios
He creado un formulario principal en una hoja de excel, en el aparecen dos botones uno para dar de alta auditorias y el otro para realizar consultas a los registros que he dado alta así como modificaciones.
En lo que respecta al alta no tengo problema alguno. En lo que respecta a la consulta, lo hago a través de un combobox al cual se carga con información usando un botón de comando
heets("auditorias").Select Dim fila As Long 'declaramos la variable fila como entero largo fila = 3 'La fila al iniciar vale 3, para hacer referencia a la fila 3 While Cells(fila, 4) <> "" 'Mientras la celda de la fila 3 y columna 4 (d3) no este vacia combo_aud.AddItem Cells(fila, 4) 'agrega el elemento de la fila 3 y columna 4 d3 fila = fila + 1 'la fila incrementa en 1 Wend cmd_cargar.Enabled = False
. Y al seleccionar el registro deseado en el combobox, la información se despliega en diferentes combobox, textbox, DTPicker.
Private Sub combo_aud_Change() Dim num_auditoria As String Dim idBusca As String Dim fila As Integer Application.ScreenUpdating = False Sheets("auditorias").Select fila = 0 num_auditoria = combo_aud While idBusca <> num_auditoria fila = fila + 1 idBusca = Range("D" & fila).Value Wend Cells(combo_aud.ListIndex).Select Cmb_programa = Range("c" & fila).Value combo_aud = Range("d" & fila).Value cmb_tipo = Range("e" & fila).Value cmb_dependencia = Range("f" & fila).Value cmb_prog = Range("g" & fila).Value cmb_ejercicio = Range("h" & fila).Value f_inicio = Range("i" & fila).Value f_cierre = Range("j" & fila).Value txt_autprog = Range("k" & fila).Value txt_autejec = Range("l" & fila).Value txt_impauditado = Range("m" & fila).Value cmb_depto = Range("n" & fila).Value 'combo_aud.SetFocus 'auditorias.Activate End Sub
La idea es poder realizar cambios los diferentes campos del registro deseado. Sin embargo, tengo un error al querer guardar los cambios realizados con la siguiente nstrucción .
Private Sub cmd_guardar_Click() Sheets("auditorias").Range("c" & fila) = Cmb_programa.Value Sheets("auditorias").Range("d" & fila) = combo_aud.Value Sheets("auditorias").Range("e" & fila) = cmb_tipo.Value Sheets("auditorias").Range("f" & fila) = cmb_dependencia.Value Sheets("auditorias").Range("g" & fila) = cmb_prog.Value Sheets("auditorias").Range("h" & fila) = cmb_ejercicio.Value Sheets("auditorias").Range("i" & fila) = f_inicio.Value Sheets("auditorias").Range("j" & fila) = f_cierre.Value Sheets("auditorias").Range("k" & fila) = txt_autprog.Value Sheets("auditorias").Range("l" & fila) = txt_autejec.Value Sheets("auditorias").Range("m" & fila) = txt_impauditado.Value Sheets("auditorias").Range("n" & fila) = cmb_depto.Value cmd_guardar.Enabled = False End Sub
iDeseo subir el archivo para poder ser mas claro.
1 Respuesta
Respuesta de Dante Amor
1