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 SubLa 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 SubiDeseo subir el archivo para poder ser mas claro.
1 Respuesta
Respuesta de Dante Amor
1