Concentrar hojas con el nombre del libro de origen
Quisiera que me apoyaran con lo siguiente:
Tengo una macro que bajé de internet que funciona muy bien para concentrar hojas de varios libros, la macro es la siguiente:
Sub Open_Files()
Dim Hoja As Object
Application.ScreenUpdating = False
'Definir la variable como tipo Variante
Dim X As Variant
'Abrir cuadro de dialogo
X = Application.GetOpenFilename _
("Excel Files (*.xls*), *.xls*", 2, "Abrir archivos", , True)
'Validar si se seleccionaron archivos
If IsArray(X) Then ' Si se seleccionan
'Crea Libro nuevo
Workbooks.Add
'Captura nombre de archivo destino donde se grabaran los archivos seleccionados
A = ActiveWorkbook.Name
'*/********************
For y = LBound(X) To UBound(X)
Application.StatusBar = "Importando Archivos: " & X(y)
Workbooks.Open X(y)
b = ActiveWorkbook.Name
For Each Hoja In ActiveWorkbook.Sheets
Hoja.Copy after:=Workbooks(A).Sheets(Workbooks(A).Sheets.Count)
Next
Workbooks(b).Close False
Next
Application.StatusBar = "Listo"
Call Unir_Hojas
End If
Application.ScreenUpdating = False
End Sub
Sub Unir_Hojas()
Dim Sig As Byte, Eliminar As Boolean
For Sig = 2 To Worksheets.Count
Worksheets(Sig). Range("A2", Range("D1").End(xlDown)).Copy_
Worksheets(1).Range("a1000000").End(xlUp).Offset(1)
Next
Application.DisplayAlerts = False
For Sig = 2 To Worksheets.Count
Worksheets(2).Delete
Next
Application.DisplayAlerts = True
End SubLo que hace el macro es lanzar el explorador de archivos para elegir que archivos se van a concentrar y concentra las hojas de estos archivos en una sola hoja de un libro nuevo, una debajo de la otra.
Lo que quisiera que me ayudaran a modificar de la macro, es que copie de la columna "A" a la "D" empezando por la fila 2 hacia abajo hasta la última fila, teniendo en cuenta que los archivos tienen un número de filas variable.
Que pegue solo valores sin formato.
Que empiece a pegar los datos a partir de la columna "B" y que en la columna "A" ponga en todas las filas copiadas el nombre sin extensión del archivo de origen.
Espero haberme explicado lo suficientemente bien y agradezco de antemano su colaboración.