• Jueves 28 de Marzo de 2024, 18:59

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - nitramara

Páginas: [1]
1
Hola buen dia.. el caso que tengo, lo presento porque no he podido solucionar por mas que le he buscado por todos lados.. el asunto es asi: Tengo en un user form dos elementos un combobox y un multipage.. el combo lo alimento desde una lista traida de una hoja.. y el multipage tiene 9 pestañas.. la idea es que se selecciona una zona (Combo) y cada una de las zonas tiene diferentes areas (Multipage)... bueno como tengo "obligatorio" mas de 100 Zonas cuando realizo en codigo se me bloquea o revienta (Procedimiento demasiado largo).. he realizado pruebas y efectivamente el codigo funciona a la perfeccion con hasta 54 entre Zonas y Areas.. pero tengo mas de 100...
La pregunta es como hago para partir el codigo sin afectar la estructura..
Ah.. se me olvidaba en un principio lo habia realizado con solo IF.. y lo mismo.. luego lo cambie a combinarlo con IF y CASE.. pero nada..
aca pongo algo de codigo... todo lo tengo en el evento click del combobox.. 
Código: [Seleccionar]
Private Sub ComboBox1_click()
Dim areas As Integer
areas = MultiPage1.Value
If ComboBox1.Value = "contabilidad" Then
  Select Case areas
    Case Is = 0
        Mapa.Hide
        Sheets("costos").Visible = True
        Sheets("costos").Select
        Range("A1").Select
    Case Is = 1
        Mapa.Hide
        Sheets("contabilidad_CO").Visible = True
        Sheets("contabilidad_CO").Select
        Range("A1").Select
    Case Is = 2
        Mapa.Hide
        Sheets("contabilidad_PER").Visible = True
        Sheets("contabilidad_PER").Select
        Range("A1").Select
    Case Is = 3
        Mapa.Hide
        Sheets("contabilidad_ES").Visible = True
        Sheets("contabilidad_ES").Select
        Range("A1").Select
    Case Is = 4
        Mapa.Hide
        Sheets("contabilidad_CAL").Visible = True
        Sheets("contabilidad_CAL").Select
        Range("A1").Select
    Case Is = 5
        Mapa.Hide
        Sheets("contabilidad_PERDOC").Visible = True
        Sheets("contabilidad_PERDOC").Select
        Range("A1").Select
    Case Is = 6
        Mapa.Hide
        Sheets("contabilidad_FINAN").Visible = True
        Sheets("contabilidad_FINAN").Select
        Range("A1").Select
    Case Is = 7
        Mapa.Hide
        Sheets("contabilidad_EMBE").Visible = True
        Sheets("contabilidad_EMBE").Select
        Range("A1").Select
    Case Else
        Mapa.Hide
        Sheets("contabilidad_INFRA").Visible = True
        Sheets("contabilidad_INFRA").Select
        Range("A1").Select
  End Select
End If
If ComboBox1.Value = "Financiera" Then
  Select Case areas
    Case Is = 0
        Mapa.Hide
        Sheets("Financiera").Visible = True
        Sheets("Financiera").Select
        Range("A1").Select
    Case Is = 1
        Mapa.Hide
        Sheets("Financiera_CO").Visible = True
        Sheets("Financiera_CO").Select
        Range("A1").Select
    Case Is = 2
        Mapa.Hide
        Sheets("Financiera_PER").Visible = True
        Sheets("Financiera_PER").Select
        Range("A1").Select
    Case Is = 3
        Mapa.Hide
        Sheets("Financiera_ES").Visible = True
        Sheets("Financiera_ES").Select
        Range("A1").Select
    Case Is = 4
        Mapa.Hide
        Sheets("Financiera_CAL").Visible = True
        Sheets("Financiera_CAL").Select
        Range("A1").Select
    Case Is = 5
        Mapa.Hide
        Sheets("Financiera_PERDOC").Visible = True
        Sheets("Financiera_PERDOC").Select
        Range("A1").Select
    Case Is = 6
        Mapa.Hide
        Sheets("Financiera_FINAN").Visible = True
        Sheets("Financiera_FINAN").Select
        Range("A1").Select
    Case Is = 7
        Mapa.Hide
        Sheets("Financiera_EMBE").Visible = True
        Sheets("Financiera_EMBE").Select
        Range("A1").Select
    Case Else
        Mapa.Hide
        Sheets("Financiera_INFRA").Visible = True
        Sheets("Financiera_INFRA").Select
        Range("A1").Select
  End Select
End If
end sub
Como pueden ver el codigo creo esta bien pero no corre aparece error procedimiento demasiado largo alguien me tira una ida bien sea para que todo quepa en el procedimiento sin que tire error.. o bien sea para partir el codigo... muchas gracias..

Páginas: [1]