Seleccionar datos una columna por nombre especifico

Buen día, estoy copiando columnas de un libro a otro, primero mandao llamar a un libro de excel pero a la hora de copiar algunas columnas resulta que cambiaron de lugar, me gustaria saber si se puede buscar el encabezado y de alli seleccionar toda la columna, las columnas que requiero copiar por los encabezados son Año, Ce.gestor, Programa P, PosPre, Nºdoc.ref, Contrato, Elemento PEP, Ledger, Per, Impte.MECP, los vo ya copiar a mi archivo que se llama Base.xlsb

Espero haberme explicado

Gracias

Alfonso

1 respuesta

Respuesta
1

Ya te respondo

Como estas, el código es el siguiente, lo debes adaptar la macro al nombre de tus hojas y hacer tantos bucles como columnas quieras buscar, visita www.programarexcel.blogspot.com ahí podrás bajar ejemplos para aplicar a tus proyectos.

Sub Buscacol()
Application.ScreenUpdating = False
Dim col, col1, colb, contá As Integer
Dim dato, c As String
col = 1
colb = 1
col1 = 1
contá = 0
While Sheets("Hoja1").Cells(1, col) <> Empty And contá = 0
dato = "ID"
Set b = Sheets("Hoja1").Range("A1:XFD1").Find(dato, LookIn:=xlValues, Lookat:=xlWhole)
If Not b Is Nothing Then
Sheets("Hoja1").Select
Columns(col).Select
Selection.Copy
Sheets("Hoja2").Select
Cells(1, col1).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
col1 = col1 + 1
col = col + 1
contá = 1
End If
colb = colb + 1
Wend
'Libero variables
colb = 1
contá = 0
Set b = Nothing
While Sheets("Hoja1").Cells(1, col) <> Empty And contá = 0
dato = "Fecha"
Set b = Sheets("Hoja1").Range("A1:XFD1").Find(dato, LookIn:=xlValues, Lookat:=xlWhole)
If Not b Is Nothing Then
Sheets("Hoja1").Select
Columns(col).Select
Selection.Copy
Sheets("Hoja2").Select
Cells(1, col1).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
col1 = col1 + 1
contá = 1
End If
col = col + 1
Wend
Application.ScreenUpdating = False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas