Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Inhalt mehrerer Dokumente in eine Gesamttabelle füllen

Inhalt mehrerer Dokumente in eine Gesamttabelle füllen
01.11.2019 15:14:56
Orion
Ich habe mehrere Dateien mit Inhalt in jeweils gleichen Zellen. Nun möchte ich diese Inhalte in einer Gesamttabelle kopieren und speichern.
Dh. ich möchte jeweils ein einzelnes Dokument öffnen. Eine Zelle kopieren und dann in der Gesamttabelle abspeichern. Bei jedem neuen Dokument, das geöffnet wird, soll in der Gesamttabelle eine Spalte weiter nach rechts der Inhalt eingefügt werden.
Ich habe einen Code der jeweils die Dokumente in meinem Ordner öffnet. Mein Problem ist, dass es in der Gesamttabelle immer in der gleichen Zelle speichert und nicht für jedes Dokument eine Spalte nach rechts verschiebt. Kann mir bitte jemand weiterhelfen?
<br><br>
Dim Probenliste As Workbook<br><br>
Workbooks.Open FileName:="/Users/Test_Gesamttabelle.xlsx"<br><br>
Set Probenliste = Workbooks("Test_Gesamttabelle.xlsx")<br><br>
<br><br>
' aktivieren von File indem Daten herauskopiert werden sollen<br><br>
Probenliste.Activate<br><br>
<br><br>
' definiere den Pfad und das Datenformat sowohl als auch das Format der Filebezeichnungen<br><br>
Pfad = "/Users/Dokumente/"<br><br>
Extension = "*.xls"<br><br>
Dim strFile As String<br><br>
Set dest = Range("B2") ' bestimmt erste Zelle<br><br>
<br><br>
If Pfad = "" Then<br><br>
Exit Sub<br><br>
Else<br><br>
strFile = Dir(Pfad & Extension) ' bestimmt Pfad mit Dateien<br><br>
Do While Len(strFile) > 0 ' solange Dateien enthalten sind, mach eine Aktion<br><br>
Workbooks.Open FileName:=Pfad & strFile ' öffne eine Datei<br><br>
Range("C3").Copy 'kopiere in geöffneter Datei die Zelle<br><br>
Probenliste.Activate<br><br>
destCol.Select<br><br>
ActiveSheet.Paste<br><br>
Workbooks(strFile).Close<br><br>
strFile = Dir() ' nächste Datei<br><br>
Loop<br><br>
End If

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt mehrerer Dokumente in eine Gesamttabelle füllen
01.11.2019 16:12:34
volti
Hallo Orion,
hier bietet sich an, einen Spaltenzähler einzuführen und über die Offset()-Funktionalität die Einfügespalte anzusteuern.
Hier ein Beispiel:
Sub Test()
 Dim Probenliste As Workbook, strFile As String, xOffs As Integer, Dest As Range
 Workbooks.Open Filename:="/Users/Test_Gesamttabelle.xlsx"
 Set Probenliste = ActiveWorkbook
' definiere den Pfad und das Datenformat sowohl als auch das Format der Filebezeichnungen
 Pfad = "/Users/Dokumente/"
 Extension = "*.xls"
 Set Dest = ActiveSheet.Range("B2")         ' bestimmt erste Zelle
 If Pfad = "" Then Exit Sub
 strFile = Dir(Pfad & Extension)            ' bestimmt Pfad mit Dateien
 Do While Len(strFile) &GT; 0                  ' solange Dateien enthalten sind, mach eine Aktion
   Workbooks.Open Filename:=Pfad & strFile  ' öffne eine Datei
   Range("C3").Copy                         'kopiere in geöffneter Datei die Zelle
   Probenliste.Activate
   Dest.Offset(0, xOffs).Select
   ActiveSheet.Paste
   xOffs = xOffs + 1
   Workbooks(strFile).Close
   strFile = Dir()                          ' nächste Datei
  Loop
End Sub
Sub TestNurText()
 Dim Probenliste As Workbook, strFile As String, xOffs As Integer, Dest As Range
 Workbooks.Open Filename:="/Users/Test_Gesamttabelle.xlsx"
 Set Probenliste = ActiveWorkbook
' definiere den Pfad und das Datenformat sowohl als auch das Format der Filebezeichnungen
 Pfad = "/Users/Dokumente/"
 Extension = "*.xls"
 Set Dest = ActiveSheet.Range("B2")         ' bestimmt erste Zelle
 If Pfad = "" Then Exit Sub
 strFile = Dir(Pfad & Extension)            ' bestimmt Pfad mit Dateien
 Do While Len(strFile) &GT; 0                  ' solange Dateien enthalten sind, mach eine Aktion
   Workbooks.Open Filename:=Pfad & strFile  ' öffne eine Datei
   Dest.Offset(0, xOffs).Value = ActiveSheet.Range("C3").Value
   xOffs = xOffs + 1
   Workbooks(strFile).Close
   strFile = Dir()                          ' nächste Datei
  Loop
End Sub

Wenn Du nur Text benötigst, reicht die Übernahme ohne Copy.
viele Grüße
Karl-Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige