Private Sub cmb_tipo_persona_Change()
Dim valor, rango1, celda1, rango2, celda2, rango3, celda3, rango4, celda4, rango5, celda5 As Range
Set rango1 = Hoja2.[Personas_Físicas]
Set rango2 = Hoja2.[Sistema_de_Banca_de_Desarrollo]
Set rango3 = Hoja2.[Empresarial]
Set rango4 = Hoja2.[Corporativo]
Set rango5 = Hoja2.[Sector_Público]
valor = cmb_tipo_persona.Value
cmb_tipo_cartera.Clear
lbl_tipo_cartera.Caption = ""
Select Case valor
Case Is = "Personas_Físicas"
For Each celda1 In rango1
cmb_tipo_cartera.AddItem celda1.Value
Next celda1
Case Is = "Sistema_de_Banca_de_Desarrollo"
For Each celda2 In rango2
cmb_tipo_cartera.AddItem celda2.Value
Next celda2
Case Is = "Empresarial"
For Each celda3 In rango3
cmb_tipo_cartera.AddItem celda3.Value
Next celda3
Case Is = "Corporativo"
For Each celda4 In rango4
cmb_tipo_cartera.AddItem celda4.Value
Next celda4
Case Is = "Sector_Público"
For Each celda5 In rango5
cmb_tipo_cartera.AddItem celda5.Value
Next celda5
End Select
find_code_tipo_persona
End Sub
Funciona perfecto, cuando hago una selección en el primer combobox, me cambia las opciones del segundo.
...hacen que cada vez que cambio el comboBox 1, se actualice el comboBox 2, así no se suman las opciones a elegir; eso está correcto, pero
...son las mismas que me están dando problema, ya que al cargar datos en el Userform, por medio de los siguientes códigos:
Private Sub UserForm_Activate()
Dim cantidad_filas As Integer
deshabilitar_controles
If next_row_free() = 13 Then 'verifica si el excel esta vacio
scrollNavegacion.Max = 13
Else
scrollNavegacion.Max = next_row_free() - 1
cargarDatos (next_row_free() - 1)
End If
End Sub
Sub cargarDatos(numeroFila As Integer)
'Carga los datos
lbl_solucion.Caption = Range("C" & numeroFila).Value
lbl_nombre_solucion.Caption = Range("D" & numeroFila).Value
lbl_tipo_persona.Caption = Range("M" & numeroFila).Value
lbl_tipo_cartera.Caption = Range("N" & numeroFila).Value
lbl_plan_inversion.Caption = Range("O" & numeroFila).Value
lbl_origen_recursos.Caption = Range("P" & numeroFila).Value
find_name_tipo_persona
' activar_eventos
find_name_tipo_cartera
find_name_plan_inversion
find_name_origen_recursos
End Sub
hacen que corra el evento "Change" del primer código que les copié y no permite que carguen los datos en el segundo combobox.
Si comento las lineas del clear del combo, funciona solamente cuando cambio el primer combo, pero no funciona a la hora de cargar y navegar entre registros.
Utilizar el evento Change o el evento Click me hacen exactamente lo mismo y no me beneficia.
Espero haberme dado a entender y que me puedan colaborar.
Gracias,
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenos días, gusto saludarles.
Tengo el siguiente código:
Private Sub cmb_tipo_persona_Change() Dim valor, rango1, celda1, rango2, celda2, rango3, celda3, rango4, celda4, rango5, celda5 As Range Set rango1 = Hoja2.[Personas_Físicas] Set rango2 = Hoja2.[Sistema_de_Banca_de_Desarrollo] Set rango3 = Hoja2.[Empresarial] Set rango4 = Hoja2.[Corporativo] Set rango5 = Hoja2.[Sector_Público] valor = cmb_tipo_persona.Value cmb_tipo_cartera.Clear lbl_tipo_cartera.Caption = "" Select Case valor Case Is = "Personas_Físicas" For Each celda1 In rango1 cmb_tipo_cartera.AddItem celda1.Value Next celda1 Case Is = "Sistema_de_Banca_de_Desarrollo" For Each celda2 In rango2 cmb_tipo_cartera.AddItem celda2.Value Next celda2 Case Is = "Empresarial" For Each celda3 In rango3 cmb_tipo_cartera.AddItem celda3.Value Next celda3 Case Is = "Corporativo" For Each celda4 In rango4 cmb_tipo_cartera.AddItem celda4.Value Next celda4 Case Is = "Sector_Público" For Each celda5 In rango5 cmb_tipo_cartera.AddItem celda5.Value Next celda5 End Select find_code_tipo_persona End Sub
Funciona perfecto, cuando hago una selección en el primer combobox, me cambia las opciones del segundo.
Sin embargo, las lineas:
cmb_tipo_cartera.Clear lbl_tipo_cartera.Caption = ""
...hacen que cada vez que cambio el comboBox 1, se actualice el comboBox 2, así no se suman las opciones a elegir; eso está correcto, pero
...son las mismas que me están dando problema, ya que al cargar datos en el Userform, por medio de los siguientes códigos:
Private Sub UserForm_Activate() Dim cantidad_filas As Integer deshabilitar_controles If next_row_free() = 13 Then 'verifica si el excel esta vacio scrollNavegacion.Max = 13 Else scrollNavegacion.Max = next_row_free() - 1 cargarDatos (next_row_free() - 1) End If End Sub Sub cargarDatos(numeroFila As Integer) 'Carga los datos lbl_solucion.Caption = Range("C" & numeroFila).Value lbl_nombre_solucion.Caption = Range("D" & numeroFila).Value lbl_tipo_persona.Caption = Range("M" & numeroFila).Value lbl_tipo_cartera.Caption = Range("N" & numeroFila).Value lbl_plan_inversion.Caption = Range("O" & numeroFila).Value lbl_origen_recursos.Caption = Range("P" & numeroFila).Value find_name_tipo_persona ' activar_eventos find_name_tipo_cartera find_name_plan_inversion find_name_origen_recursos End Sub
hacen que corra el evento "Change" del primer código que les copié y no permite que carguen los datos en el segundo combobox.
Si comento las lineas del clear del combo, funciona solamente cuando cambio el primer combo, pero no funciona a la hora de cargar y navegar entre registros.
Utilizar el evento Change o el evento Click me hacen exactamente lo mismo y no me beneficia.
Espero haberme dado a entender y que me puedan colaborar.
Gracias,