Varios datos de la lista desplegable, quiero que al escoger cada dato de la lista me lleve a una hoja especifica

Lo que realmente necesito es que mediante una lista desplegable e esta lista están relacionadas todas las hojas del libro y al escoger una opción y mediante otro botón que carga una información me lleve la información a la hoja que escojo en la lista desplegable esto lo deseo hacer mediante una macro.

1 Respuesta

Respuesta
1

Entiendo que quieres una lista desplegable con la lista de las hojas.

También entiendo que quieres copiar "cierta información" de un "origen" a la hoja seleccionada en la lista desplegable.

Bien, lo que necesitas se puede realizar de 2 formas, existen más formas, pero te planteo 2 y tú me dices con cuál te ayudo.

- La primera opción es crear un formulario (userform), con un combobox con la lista de las hojas y un botón para copiar la información.

- La segunda opción es poner el combo y el botón directamente en la hoja (controles activex).

Para cualquiera de las opciones me tienes que decir, qué quieres copiar o cargar, de dónde se va a leer y en dónde (cuáles celdas) se va poner la información.

Si puedes explicar todo con un ejemplo.

Saludos. Dante Amor

Hola Dante,

Muchas gracias por tus sugerencias y me parece muy bien la primera opción que diste creo que esa se acomoda mas a lo que necesito.

Lo que necesito es lo siguiente en mi libro tengo varias hojas y pensaba crear una donde se haga un formulario (userform), donde mediante una lista desplegable me muestre las hojas del libro ya que en estas es donde quedara la información que copiare de otro libro y que sea esto mediante un botón que me permita buscar el archivo el cual solo tiene una hoja con la información que necesito copiarla y pegarla en mi archivo origen en la hoja que seleccione en la lista desplegable y que pueda hacer lo mismo en cada una de las hojas de mi archivo origen solo que abra un archivo con la información que necesito y me la pegue en la hoja que yo escogí y luego este cierre el archivo que abrió.

Me e guiado con una respuesta que le diste a otro usuario pero no doy con ello.

Agradezco tu colaboración y tu interés.

Pero dime, del otro libro que se va a abrir, ¿qué hoja y qué rango de celdas es la que se va a copiar?

¿También me tienes que decir en cuál celda destino se va a pegar?

Lo que pasa es que es un formato de los dos libros y la parte amarilla es la que voy a copiar de un lado al otro, osea los datos que me envían los copio al archivo donde voy a consolidar todo, como vez abajo hay varias pestañas donde están los meses y es hay donde según el mes necesito meter esa información pero de donde lo copio me lo envían lleno la parte de amarillo pero es el mismo formato para los dos, el archivo que me envían solo tiene una hoja.

Me falta información para hacer la macro.

Envíame tu archivo1 que tiene todas las pestañas de meses.

Envíame un ejemplo del "otro libro", digamos que el "otro libro" tiene información en diciembre; entonces, en el archivo1, en diciembre, pegas la información del "otro libro", de esa forma me daré cuenta de cómo está la información del "otro libro" y del "archivo1".

Otra cosa, ¿cargas más de un archivo en diciembre?, si es así, entonces tendrías que enviarme "otro archivo 2" con la información de diciembre, y en el archivo1, separar con colores la información que corresponde al "otro archivo1" y con otro color la información del "otro archivo2".

Te anexo la macro para cargar la lista y cargar la información

Private Sub Cargar_Click()
'Por.Dante Amor
    If ComboBox1 = "" Then
        MsgBox "selecciona una hoja en el combo"
        Exit Sub
    End If
    wfor1 = "[SISTEMAS.xls]wmes!D3+'[SERVICIOS PERSONALES.xls]wmes'!D3+[PLANEACION.xls]wmes!D3+[MERCADEO.xls]wmes!D3+'[LA DIG.xls]wmes'!D3+[JURIDICA.xls]wmes!D3+[FINANCIERA.xls]wmes!D3+[DIRPEN.xls]wmes!D3+[DIRECCION.xls]wmes!D3+[DIMPE.xls]wmes!D3+'[CUENTAS NACIONALES.xls]wmes'!D3+[CNA.xls]wmes!D3+[CENSOS.xls]wmes!D3"
    wfor2 = "=" & Replace(wfor1, "wmes", ComboBox1.Value)
    hoja = ComboBox1.Value
    Sheets(hoja).Range("D3") = wfor2
    Sheets(hoja).Range("D3").AutoFill Destination:=Sheets(hoja).Range("D3:J3"), Type:=xlFillDefault
    u = Sheets(hoja).Range("B" & Rows.Count).End(xlUp).Row
    Sheets(hoja).Range("D3:J3").AutoFill Destination:=Sheets(hoja).Range("D3:J" & u)
End Sub
Private Sub Worksheet_Activate()
'Por.Dante Amor
    ComboBox1.Clear
    For Each h In Sheets
        Select Case h.Name
            Case "Hoja1"
            Case Else
                ComboBox1.AddItem h.Name
        End Select
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas