Filtrar dos sheets y generar uno nuevo

Tengo un sheet1 alumnos y sheet2 cursos, mediante slicer al elegir por ejemplo 3 alumnos y de otro slicer 4 cursos deseo hacer mediante vba grabar en un tercer sheet con la información filtrada, por ejemplo ya con el filtro se puede ver que cada alumno se repite según la cantidad de cursos elegidos

Alumnos : Carlos, María

Cursos : matemáticas, lenguaje, religión

Quedando el sheet resultante

Alumnos            Cursos

Carlos                 matematicas

Carlos                 lenguaje

Carlos                 religion

Maria                  matematicas

Maria                  lenguaje

Maria                  religion

Respuesta
1

Suponiendo que los alumnos y los cursos en ambas hojas están en la columna A y que empiezan los registros en la fila 2, utiliza la siguiente macro.

Cambia en la macro las hojas "hoja1", "hoja2", "hoja3" por los nombres de tus hojas

Sub Generar_Hoja()
'Por Dante Amor
    '
    Set h1 = Sheets("Hoja1")    'hoja de alumnos
    Set h2 = Sheets("Hoja2")    'hoja de cursos
    Set h3 = Sheets("Hoja3")    'hoja resultante
    col1 = "A"                  'columna donde están los alumnos
    col2 = "A"                  'columna donde están los cursos
    '
    h3.Rows("2:" & Rows.Count).ClearContents
    k = 2
    For i = 2 To h1.Range(col1 & Rows.Count).End(xlUp).Row
        If h1.Rows(i).Hidden = False Then
            For j = 2 To h2.Range(col2 & Rows.Count).End(xlUp).Row
                If h2.Rows(j).Hidden = False Then
                    h3.Cells(k, "A").Value = h1.Cells(i, col1).Value
                    h3.Cells(k, "B").Value = h2.Cells(j, col2).Value
                    k = k + 1
                End If
            Next
        End If
    Next
    h3.Select
    MsgBox "Fin"
End Sub


'.[Sal u dos. No olvides valorar la respuesta. 

Hola Dante, consulta, la información a extraer lo hago mediante slicer, en tu código don pondría el campo del slicer.

Gracias

La versión de excel que tengo no utiliza slicer. Tendrás que utilizar el autofiltro en ambas hojas y después ejecutar la macro.

Estaba revisando el funcionamiento de slicer, si filtras desde el slicer, en la hoja se está filtrando la información, entonces si pruebas la macro debe funcionar. Tomará la información de la hoja alumnos y de grupos y te creará la tercera sin problemas.

Pudiste resolverlo? [Si te ayudó la información, no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas