Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellendaten in neuer Datei zusammenfassen

Tabellendaten in neuer Datei zusammenfassen
25.06.2006 18:54:41
Gordon
Hallo Ihr Lieben,
vor einigen Tagen habe ich schon einmal Hilfe von Sepp bekommen. Ich möchte in einer Datei die Daten aus anderen, im Aufbau immer gleichen Dateien, zusammenfassen.
Hierfür habe ich ein Makro im Internet gefunden und angepasst. Leider bin ich kein Spezialist in VBA und bekomme das Ganze nicht so zum Laufen.
Die beiden Dateien habe ich Euch mal hochgeladen.
Hier der Inhalt des Makros:

Sub Konsolidierung()
'Variablen Definitionen
Dim MySheet As Worksheet ' aktuelles Arbeitsblatt der offenen Ziel-Datei-hier werden die Daten reingeschrieben
Dim strPath As String ' Dateipfad zum Auslesen der Dateien
Dim strFile As String ' Quelldatei
Dim wkbInput, meins As Workbook ' Quell-Arbeitsmappe
Dim wksInput As Worksheet ' Quell-Registerblatt
Dim lngTargetRow As Long ' Zeilenzähler für die Bewertungsinformationen
Dim lRow As Long ' Schleifenzähler
Dim lCol As Long ' Schleifenzähler
Dim delta As Integer
Application.DisplayAlerts = False
delta = 0 'Zaehler um in die nächste Zeile zu schreiben
'Merkt sich die Daten der Zieldatei
Set MySheet = ActiveSheet
Set meins = ActiveWorkbook
strPath = ActiveWorkbook.Path
' Verzeichnis durchgehen und alle Dateien auslesen
strFile = Dir(strPath & "\*.xls")
Do While strFile <> "" ' Schleife beginnen
If strFile = ActiveWorkbook.Name Then
' Zieldatei natürlich übergehen
Else
' Quelldatei öffnen
' und 1. Registerblatt auswählen
Set wkbInput = Application.Workbooks.Open(strPath & "\" & strFile)
Set wksInput = wkbInput.Worksheets("Quellregisterblatt") 'Hier ist das Quell-Sheet zu definieren zwischen die Hochkommata die Bezeichnung des sheets eingeben'
' Daten auslesen und in Auswertung kopieren'
wksInput.Activate 'Auswahl Quell-Sheet
wksInput.Cells(1, 1).Select 'Select der Quell-Zelle
Print Selection.Copy 'Kopieren
meins.Activate 'Aktivieren des-Ziel-Workbook
MySheet.Activate 'Aktivieren des Ziel-Sheet
MySheet.Cells(2 + delta, 1).Select 'Auswahl Ziel-Zellen (zeilen werden durch Delta hochgezählt)
'Einfügen des Wertes
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
delta = delta + 1 'Nächste Zeile
' Bis hier CODE zum Auslesen
' Datei schließen
wkbInput.Close
Set wkbInput = Nothing
End If
strFile = Dir ' Nächsten Eintrag abrufen
Loop
MsgBox "Ich habe Fertig!"
End Sub

Wenn ich das Makro ausführe bekomme ich immer die Fehlermeldung "Objekt unterstützt diese Eigenschaft oder Methode nicht".
Wer kann mir bei der Lösung des Problems helfen? Anbei die beiden Originaldateien, die in einem Ordner liegen.
https://www.herber.de/bbs/user/34616.xls

Die Datei https://www.herber.de/bbs/user/34617.xls wurde aus Datenschutzgründen gelöscht

Vielen Dank schon im Voraus für die Hilfe!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellendaten in neuer Datei zusammenfassen
25.06.2006 19:51:33
fcs
Hallo Gorden,
habe das Makro etwas angepasst, speziell was die Übernahme der Werte aus der Quell-Tabelle in die Zieltabelle betrifft. Das Makro läuft so wesentlich schneller

Sub Konsolidierung()
'Variablen Definitionen
Dim MySheet As Worksheet ' aktuelles Arbeitsblatt der offenen Ziel-Datei-hier werden die Daten reingeschrieben
Dim strPath As String ' Dateipfad zum Auslesen der Dateien
Dim strFile As String ' Quelldatei
Dim wkbInput, meins As Workbook ' Quell-Arbeitsmappe
Dim wksInput As Worksheet ' Quell-Registerblatt
Dim lngTargetRow As Long ' Zeilenzähler für die Bewertungsinformationen
Dim lRow As Long ' Schleifenzähler
Dim lCol As Long ' Schleifenzähler
Dim delta As Integer
Application.DisplayAlerts = False
delta = 0 'Zaehler um in die nächste Zeile zu schreiben
'Merkt sich die Daten der Zieldatei
Set MySheet = ActiveSheet
Set meins = ActiveWorkbook
strPath = ActiveWorkbook.Path
' Verzeichnis durchgehen und alle Dateien auslesen
strFile = Dir(strPath & "\*.xls")
'Ab hier gibt es Anpassungen !!!
Application.ScreenUpdating = False
Do While strFile <> "" ' Schleife beginnen
If strFile = ActiveWorkbook.Name Then
' Zieldatei natürlich übergehen
Else
' Quelldatei öffnen
' und 1. Registerblatt auswählen
Set wkbInput = Application.Workbooks.Open(strPath & "\" & strFile)
Set wksInput = wkbInput.Worksheets(1) 'Wenn das Quell-Sheet immer das 1. Blatt ist, dann so
' Daten auslesen und in Auswertung kopieren'
MySheet.Cells(2 + delta, 1) = wksInput.Cells(1, 1) 'Wert aus Quell- in Zielzelle übertragen
MySheet.Cells(2 + delta, 2) = wkbInput.Name 'NameQuelldatei in Zieltabelle  eintragen, , ggf. wieder löschen
delta = delta + 1 'Nächste Zeile
' Bis hier CODE zum Auslesen
' Datei schließen
wkbInput.Close
Set wkbInput = Nothing
End If
strFile = Dir ' Nächsten Eintrag abrufen
Loop
Application.ScreenUpdating = True
MsgBox "Ich habe Fertig!"
End Sub

mfg
Franz
Anzeige
AW: Tabellendaten in neuer Datei zusammenfassen
25.06.2006 20:09:01
Gordon
Suuuper, vielen lieben Dank.
Was soll ich sagen außer: "Ich bin begeistert...vielen vielen Dank".
Liebe Grüße aus Hannover
Gordon

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige