Si lo que necesitas es 'ubicar' la col donde debe ser pegada la col de origen, esta macro realiza esto:
-Recorre la col de títulos en origen
-Busca el mismo título en destino... si no lo encuentra envía mensaje de error y continúa con el resto de las col. Luego puedes pegar los datos de esa col manualmente.
- En las 2 hojas se establece el fin de rango en variables para ser utilizadas en cada pase.
Sub Traspaso()
'x Elsamatilde
Dim filx As Long, UltLinea As Long, colx As Integer
Dim titulo As String
Dim busco
'obtengo la primer fila libre para este mes en hoja Acumulados
filx = Sheets("Acumulados").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Hoja de trabajo").Select
'obtengo la última fila ocupada en esta hoja
UltLinea = Range("A" & Rows.Count).End(xlUp).Row
'por cada col de Hoja de trabajo se busca su igual en hoja Acumulados
For colx = 1 To Range("A1").End(xlToRight).Column
titulo = Cells(1, colx)
Set busco = Sheets("Acumulados").Rows("1:1").Find(titulo, LookIn:=xlValues, lookat:=xlWhole)
'si no lo encuentra envía un mensaje y sigue con el resto de las col (ver nota)
If busco Is Nothing Then
MsgBox "No se encontró el título " & titulo & " en hoja Acumulados, se sigue con el resto", , "ERROR"
Else
'copia el rango y lo pega en la col encontrada y en la primer fila para este mes
Range(Cells(2, colx), Cells(UltLinea, colx)).Copy _
Destination:=Sheets("Acumulados").Cells(filx, busco.Column)
End If
'vacío la variable
Set busco = Nothing
Next colx
'fin del pase
Sheets("Revisión Encabezados").Select
Columns("b:b").Delete
Sheets("Resumen Nómina").Cells.Delete
Sheets("Hoja de trabajo").Select
Sheets("Hoja de trabajo").Range("a2:az120").Cells.Delete
'EM: para posicionarse en la última fila es más simple esta línea
Sheets("acumulados").Select
Range("A" & Range("A" & Rows.Count).End(xlUp).Row).Select
End Sub
'nota: como ya habías controlado los títulos quizás nunca se llegue a esta instancia
'pero te dejo la idea porque este código es más efectivo que el Cells.Find(....).Select