Copiar títulos de columnas de varias hojas en otra sin repetir y alfabéticamente

Hola! Es posible hacer una macro que copie los títulos de columnas de varias hojas en otra del mismo libro sin repetir y alfabéticamente.Gracias!

1 respuesta

Respuesta
1

Si es posible, dime los siguientes datos:

1. ¿Se van a copiar los títulos de todas las hojas? Si son algunas dime los nombres.

2. ¿Cómo se llama la hoja en donde van a quedar los títulos ordenados?

3. En qué fila están los títulos

4. Y en qué fila quieres los títulos.

Sigue las Instrucciones para ejecutar la macro
1. Abre tu archivo de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5

Dim titulos As New Collection
Sub ordenartitulos()
'Por.DAM
hoja = "titu"
f = 2
c = 1
For Each h In Sheets
    If h.Name <> hoja Then
        For i = c To h.Cells(f, Columns.Count).End(xlToLeft).Column
            agregar h.Cells(f, i)
        Next
    End If
Next
For Each t In titulos
    Sheets(hoja).Cells(f, c) = t
    c = c + 1
Next
Set titulos = Nothing
End Sub
Sub agregar(dato)
'por.DAM agrega los datos únicos y en orden alfabético
For i = 1 To titulos.Count
    Select Case StrComp(titulos(i), dato, vbTextCompare)
    Case 0: Exit Sub 'ya existe, no lo agrega
    Case 1: titulos.Add dato, Before:=i: Exit Sub 'agrega antes
    End Select
Next
titulos.Add dato 'lo agrega al final
End Sub

La macro lee los títulos de todas las hojas, excepto de la hoja en donde vamos a poner todos los títulos ordenados. Cambia en la macro los siguientes datos

hoja = "titu"
f = 2
c = 1

Cambia "titu" por el nombre de tu hoja en donde vamos a poner todos los títulos ordenados.

Cambia f = 2 por el número de fila en donde se encuentran los títulos

Cambia c = 1 por el número de columna en donde inician tus títulos.

Los títulos quedarán ordenados en la hoja "titu"

Saludos y gracias por tu pronta atención. Si se tienen que copiar todos los títulos de cada hoja sin repetir ninguno en la hoja que llamaremos "Resumen" y ordenados alfabéticamente a partir de la ubicación D5 en adelante.Cada hoja (hoja1, hoja2, hoja3, hoja4) tienen diferentes números de columnas (títulos de columnas) y están ubicados también a partir de D5.

ejemplo:

títulos hoja1: cambur, plátano, tomate, aguacate

hoja2: mango, guayaba, pera

hoja3: piña, zanahoria, fresa,limón,durazno

hoja4: melón, patilla.

hoja Resumen:aguacate, cambur,durazno,fresa,guayaba,limón,mango,melón,...etc

Cambia en la macro los datos así:

hoja = "resumen"
f = 5
c = 4

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas