Buscar por encabezados
HOLA BUENOS DÍAS
TENGO ESTE CÓDIGO QUE ME COPIA LAS COLUMNAS DE UNA HOJA QUE SE LLAMA
"temsap" y las copia a una hoja excel que se llama "tablasap"
pero el problema recae cuanco me canbian el orden de las columnas
,como podría hacer un código para que de la hoja "temsap"
lea los encabezados que yo quiero y cuando sea el encabezado requerido ,
copie la columna completa en la hoja "tablasap"
espero que puedan ayudarme
---------------------------------------------
este es el código que tengo ahora
como puedo cambiarlo
-------------------------------------
Sub vincular_tablas()
Dim Fila As Long
Dim Col As Long
Dim X As String
'Application.Visible = False
On Error GoTo controlerror
'Crear nuevo archivo
Workbooks.Add
ChDir "F:\"
ActiveWorkbook.SaveAs Filename:="F:\FOX\tablaSAP.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
'Abrir tabla SAP
Workbooks.Open "F:\LB\Vanesa Gonzalez\Excel\tempSAP.xlsx"
'Coger columnas que nos interesan de la tabla SAP
Workbooks("tempSAP.xlsx").Worksheets("Hoja1").Activate
Worksheets("Hoja1").Columns("D:D").Select
Selection.Copy
Workbooks("tablaSAP.xlsx").Worksheets("Hoja1").Activate
Worksheets("Hoja1").Columns("A:A").Select
ActiveSheet.Paste
Workbooks("tempSAP.xlsx").Worksheets("Hoja1").Activate
Worksheets("Hoja1").Columns("G:G").Select
Selection.Copy
Workbooks("tablaSAP.xlsx").Worksheets("Hoja1").Activate
Worksheets("Hoja1").Columns("B:B").Select
ActiveSheet.Paste
Workbooks("tempSAP.xlsx").Worksheets("Hoja1").Activate
Worksheets("Hoja1").Columns("I:I").Select
Selection.Copy
Workbooks("tablaSAP.xlsx").Worksheets("Hoja1").Activate
Worksheets("Hoja1").Columns("C:C").Select
ActiveSheet.Paste
'Elimino filas no válidas(en blanco, vibs, XXXproveedor(obsoletos), num de mat no validos
Workbooks("tablaSAP.xlsx").Worksheets("Hoja1").Activate
Cells(1, 1).EntireRow.Delete
For Fila = ActiveSheet.UsedRange.Rows.Count To 2 Step -1
X = Left(Cells(Fila, 6), 3)
If WorksheetFunction.CountA(ActiveSheet.Rows(Fila)) = 0 Or X = "XXX" Or Cells(Fila, 1) = "Material" Or Cells(Fila, 1) < 300000000 Or Cells(Fila, 2) = "PedOfer" Or Cells(Fila, 3) = "FERT" Or Cells(Fila, 3) = "DOKU" Or (Cells(Fila, 3) = "HALB" And Cells(Fila, 10) = "E") Or Cells(Fila, 4) = "ZZZZ" Then
Cells(Fila, 1).EntireRow.Delete
End If
Next Fila
Workbooks("tablaSAP.xlsx").Worksheets("Hoja1").Activate
Cells(1, 1) = "MATERIAL"
Cells(1, 2) = "DESCRIPCIÓN"
Cells(1, 3) = "TpMt"
'Application.Visible = True
Exit Sub
controlerror:
Select Case Err.Number
Case 1004
MsgBox "Cerrar tablaSAP antes de ejecutar"
End Select
End Sub