Wenn Sie mehrere Excel-Arbeitsmappen mit ähnlichen Daten zu verwalten, können Sie sie alle in einer Zusammenfassung Arbeitsmappe zusammenführen . Dies lässt die ursprünglichen Arbeitsmappen intakt und gibt Ihnen eine einzelne Arbeitsmappe als Übersicht verwenden . Excel macht das Verfahren einfach durch seine Visual Basic -Add-on . Der Code kann lange suchen und einschüchternd , aber es ist eine ziemlich einfache copy- and-paste Job, der eigentlich gar nicht benötigen Programmierkenntnisse oder Erfahrung. Anleitung
1
Legen Sie alle Arbeitsmappen , die Sie in einen Ordner auf Ihrem Computer zu verschmelzen.
2
Öffnen Sie eine neue Arbeitsmappe in Excel.
Seite 3
Drücken Sie Alt + F11 . Dies öffnet den Visual Basic -Editor.
4
"Modul " aus dem Menü "Einfügen" .
5
Kopieren Sie den folgenden Code in VB Textfenster :
Sub MergeAllWorkbooks () Dim
MyPath As String , FilesInPath As String Dim
MyFiles () As String Dim
SourceRcount As Long , fNUM Wie Lange
Dim mybook Wie Workbook , BaseWks As Worksheet Dim
sourceRange As Range , destrange As Range Dim
rnum As Long , calcMode As Long
MyPath = " PATHHERE "
Wenn Right ( MyPath , 1 ) <> "\\" Dann
MyPath = MyPath & "\\" End If
< p> FilesInPath = Dir ( MyPath & "*. xl * " )
Wenn FilesInPath = "" Then
MsgBox " Keine Dateien gefunden "
Exit Sub
End If
fNUM = 0
Do While FilesInPath <> ""
fNUM = fNUM + 1 ReDim Preserve
MyFiles ( 1. Um fNUM )
MyFiles ( fNUM ) = FilesInPath
FilesInPath = Dir () Loop-
Anwendung
calcMode = . Berechnung
. Berechnung = xlCalculationManual
. ScreenUpdating = False
. EnableEvents = False End With
Set BaseWks = Workbooks . Add ( xlWBATWorksheet ) . Worksheets ( 1) german
rnum = 1
Wenn fNUM > 0 Then
fNUM = LBound ( MyFiles ) To UBound ( MyFiles )
Set mybook = Nothing
On Error Resume Next Set
mybook = Workbooks.Open ( MyPath & MyFiles ( fNUM ) )
On Error GoTo 0
If Not mybook Is Nothing Dann
On Error Resume Next
mybook.Worksheets ( 1) german
Set sourceRange = Range (" A1: . C1 " )
End With
If Err.Number > 0 Then
Err.Clear
Set sourceRange = Nothing Else
Wenn sourceRange.Columns.Count > = BaseWks.Columns.Count Dann
Set sourceRange = Nothing
End If End If
On Error GoTo 0
If Not sourceRange Is Nothing Dann
SourceRcount = sourceRange.Rows.Count
Wenn rnum + SourceRcount > = BaseWks.Rows.Count Dann
MsgBox " Es gibt nicht genug Zeilen in der Zielarbeitsblatt . "
BaseWks.Columns.AutoFit
mybook.Close SaveChanges : = False
GoTo ExitTheSub
Else
sourceRange
BaseWks.Cells ( rnum , "A") . _
Resize ( . Rows.Count ) . Value = MyFiles ( FNUM )
End With
Set destrange = BaseWks.Range ("B" & rnum )
sourceRange
Set 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 Next
fNUM
< p> BaseWks.Columns.AutoFit
End If
ExitTheSub : .
Anwendung
ScreenUpdating = True
EnableEvents = . Wahre
. Berechnung = calcMode
End With End Sub
6
Ersetzen " PATHHERE " auf der Linie 8 mit dem Pfad zu dem Ordner Arbeitsmappe mit allen Dateien . Verwenden Sie das Formular aus. "C: \\ My Documents \\ Folder1 \\ Folder2 ... "
7
Drücken Sie Alt + Q , um die Zusammenfassung Arbeitsmappe zu erstellen