¿Cómo puedo hacer múltiples búsquedas de encabezados, cortar y pegar las columnas con los resultados?

Actualmente estoy haciendo esto y buscando individualmente un encabezado, selecciono la columna y la muevo a otra, ¿pero tengo la duda si puedo simplificarlo?

'1
Cells.Find(What:="Order Date", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.EntireColumn.Select
Application.CutCopyMode = False
Selection.Cut
Range("B1").Select
Selection.Insert Shift:=xlToRight
'2
Cells.Find(What:="Sales Rep", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.EntireColumn.Select
Application.CutCopyMode = False
Selection.Cut
Range("C1").Select
Selection.Insert Shift:=xlToRight
'3
Cells.Find(What:="Customer Name", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.EntireColumn.Select
Application.CutCopyMode = False
Selection.Cut
Range("D1").Select
Selection.Insert Shift:=xlToRight

Respuesta
1

Esta macro te servirá para eso. Lee los comentarios para ajustar lo que hiciera falta (textos y nro de elementos de la matriz).

Sub correColumnas()
'x Elsamatilde
'se buscan los títulos desde B1
[B1].Select
col = 2
cadena = Array("Order Date", "Sales Rep", "Customer Name")
For i = 0 To 2     'cantidad de elementos de la matriz -1
    Cells.Find(What:=cadena(i), After:=[B1], LookIn:=xlFormulas, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
    ActiveCell.EntireColumn.Cut
    Cells(1, col).EntireColumn.Insert (xlToRight)
    col = col + 1
Next i
End Sub

Observa que no es necesario seleccionar la celda o col antes de cortarla o pegarla. Podés ver más sobre este tema en el video 11 de mi canal (en el punto 4).

Sdos.

Elsa

https://www.youtube.com/playlist?list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&playnext=1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas