Si gestiona varios libros de Excel con datos similares , es posible que desee unir a todos en un libro resumen. Esto deja los libros originales intactos y le da un solo libro para su uso como una visión general . Excel facilita el proceso a través de su Basic complemento Visual . El código puede parecer largo e intimidante , pero es un trabajo de copia y pegar bastante simple que en realidad no requiere codificación de conocimiento o experiencia. Instrucciones
1
poner todos los libros que desee combinar en una carpeta de su ordenador .
2
Abra un nuevo libro en Excel.
Página 3
Pulse Alt + F11. Se abrirá el Editor de Visual Basic .
4
Seleccione "Módulo " en el menú "Insertar" .
5
Copia y pega el siguiente código VB en la ventana de texto :
MergeAllWorkbooks ( Sub ) guía
mypath Dim As String , FilesInPath como secuencia
MyFiles Dim ( ) As String
SourceRcount Dim As Long , FNUM Como largo
mybook dévil como libro, BaseWks como hoja de trabajo
sourceRange As Range, destrange como gama
rnum Dim As Long , CalcMode As Long
MyPath = " PATHHERE "
Si Derecha ( MyPath , 1 ) < > "\\" Entonces
MyPath = MyPath y "\\ "
End If
< p> FilesInPath = Dir ( MyPath & " * . xl *")
Si FilesInPath = "" Then MsgBox
" se han encontrado contenidos "
Exit Sub
End If
FNUM = 0
hacer mientras FilesInPath < > " "
FNUM = FNUM + 1
ReDim Preserve MyFiles ( 1 Para FNUM )
MyFiles
( FNUM ) = FilesInPath
FilesInPath = Dir ( )
Loop
aplicación
CalcMode = . Cálculo
. Cálculo = xlCalculationManual
. ScreenUpdating = False
. EnableEvents = False
End With
Set BaseWks = libros . Add ( xlWBATWorksheet ) . Hojas de trabajo ( 1 )
rnum = 1
Si FNUM > 0 Entonces
Para FNUM = LBound ( MyFiles ) Para UBound ( MyFiles )
mybook Set = Nothing
On Error Resume Next
Set mybook = Workbooks.Open ( MyPath y MyFiles ( FNUM ))
On Error GoTo 0
Si No mybook es nada entonces
On Error Resume Next
mybook.Worksheets ( 1 )
Set sourceRange = Range ( "A1: . C1 " )
extremo con
Si Err.Number > 0 Entonces
Err.Clear
sourceRange Set = Nothing
demás
Si sourceRange.Columns.Count > = BaseWks.Columns.Count Entonces
sourceRange Set = Nothing
End If End If
On Error GoTo 0
Si No sourceRange es nada entonces
SourceRcount = sourceRange.Rows.Count
Si rnum + SourceRcount > = BaseWks.Rows.Count Entonces
MsgBox " no hay suficientes filas de la hoja de trabajo de destino. "
BaseWks.Columns.AutoFit
mybook.Close savechanges : = False
GoTo ExitTheSub
demás
sourceRange
BaseWks.Cells ( rnum , "A" ) . _
Resize ( . Rows.Count ) . Valor = MyFiles ( FNUM )
Extremo con
Set destrange = BaseWks.Range ("B" y rnum ) < br >
sourceRange
Set destrange = destrange . _
Resize ( . Rows.Count , . Columns.Count )
Extremo con
destrange.Value = sourceRange.Value
rnum = rnum + SourceRcount
End If End If
mybook.Close savechanges : = False End If
Siguiente
FNUM < p> BaseWks.Columns.AutoFit
End If
ExitTheSub : .
aplicación
ScreenUpdating = True
EnableEvents = . verdadero
. Cálculo = CalcMode
extremo con
End Sub
6
Reemplazar " PATHHERE " en la línea 8 con la ruta de la carpeta con todos los archivos de libro . Utilice el formulario. "C: \\ Mis documentos \\ Folder1 \\ Carpeta2 ... "
7
Pulse Alt + Q para crear el libro Resumen