Hvis du administrerer flere Excel-arbeidsbøker med lignende data , kan det være lurt å flette dem alle i en oppsummering arbeidsbok . Dette etterlater de opprinnelige arbeidsbøker intakt og gir deg et enkelt arbeidsbok for å bruke som en oversikt . Excel gjør prosessen enklere gjennom sin Visual Basic add-on . Koden kan se lang og skremmende, men det er en ganske enkel kopi - og-lim jobb som faktisk ikke krever koding kunnskap eller erfaring . Instruksjoner
en
Sett alle arbeidsbøker som du ønsker å flette inn en mappe på datamaskinen.
2
Åpne en ny arbeidsbok i Excel.
3
Trykk Alt + F11 . Dette vil åpne Visual Basic Editor .
4
Velg " Module" fra "Sett inn "-menyen .
5
Kopier og lim inn følgende VB kode i teksten vindu :
Gå MergeAllWorkbooks ()
Dim MyPath As String , FilesInPath As String
Dim MyFiles ( ) Som String
Dim SourceRcount så lang, FNum As Long
Dim mybook Som arbeidsbok , BaseWks Som regneark
Dim sourceRange Som Range, destrange As Range
Dim rnum Som Long , CalcMode Som Long
MyPath = " PATHHERE "
p Hvis Høyre ( MyPath , 1 ) < > "\\ " Da
MyPath = MyPath & " \\"
End If
< p> FilesInPath = Dir ( MyPath & " * . xl *" )
p Hvis FilesInPath = "" Then
MsgBox " Ingen filer funnet"
Exit Sub
End If
FNum = 0
gjøre mens FilesInPath <> " "
FNum = FNum + 1
ReDim Preserve MyFiles ( 1 Til FNum )
MyFiles ( FNum ) = FilesInPath
FilesInPath = Dir ( )
Loop
p Med Application
CalcMode = . Beregning
. Beregning = xlCalculationManual
. ScreenUpdating = False
. EnableEvents = False
End Med
Set BaseWks = arbeidsbøker . Add ( xlWBATWorksheet ) . Regneark (1)
rnum = 1
p Hvis FNum > 0 Then
For FNum = LBound ( MyFiles ) Til UBound ( MyFiles )
Set mybook = Ingenting
On Error Resume Next
Set mybook = Workbooks.Open ( MyPath & MyFiles ( FNum ) )
On Error GoTo 0
p Hvis ikke mybook Er Ingenting Deretter
On Error Resume Next
p Med mybook.Worksheets ( 1 )
Set sourceRange = Range ( " A1 : . C1 ")
End With
p Hvis err.number > 0 Then
err.Clear
Set sourceRange = Nothing
Else
p Hvis sourceRange.Columns.Count > = BaseWks.Columns.Count Deretter
Set sourceRange = Ingenting
End If
End If
On Error GoTo 0
p Hvis ikke sourceRange Er Ingenting Deretter
SourceRcount = sourceRange.Rows.Count
p Hvis rnum + SourceRcount > = BaseWks.Rows.Count deretter
MsgBox " det er ikke nok rader i målet regnearket. "
BaseWks.Columns.AutoFit
mybook.Close savechanges : = False
GoTo ExitTheSub
Else
p Med sourceRange
BaseWks.Cells ( rnum , "A" ) . _
Resize ( . Rows.Count ) . Verdi = MyFiles ( FNum )
End With
Set destrange = BaseWks.Range ( "B " & rnum )
p Med sourceRange
Sett destrange = destrange . _
Resize ( . Rows.Count , . Columns.Count )
End With
destrange.Value = sourceRange.Value
rnum = rnum + SourceRcount
End If
End If
mybook.Close savechanges : = False
End If
Neste FNum
< p> BaseWks.Columns.AutoFit
End If
ExitTheSub : .
p Med Application
ScreenUpdating = sant
EnableEvents = . sant
. Beregning = CalcMode
End With
End Sub
6
Erstatt " PATHHERE " på linje 8 med banen til mappen med alle arbeidsboken filer . Bruk skjemaet . " C: \\ Mine dokumenter \\ 1 Mappe \\ mappe2 ... "
7
Trykk Alt + Q for å opprette sammendraget arbeidsbok