online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Maturant vom 23.09.2019, 23:50 Options

Daten von verschiedenen Exceldokumente in ein Hauptdokument importieren (mit VBA)

Hallo Leute,

ich bin Maturant und mit 2 Mitschülern erarbeiten wir ein Prüfsystem für eine Firma. Dabei sollen die Mitarbeiter bestimmte Prüfwerte in ein Excel-Formular übertragen, welches dann bei Knopfdruck per Mail versandt wird. Soweit so gut, das klappt auch schon. Die Sekretärin lädt die Excel-Dokumente auf die Festplatte und jetzt kommen wir nicht mehr weiter, denn damit die Daten auch längerfristig analysiert werden können, möchten wir die Daten aus den verschiedenen Excel.sheets in ein "Hauptdokument" kopieren. (per Knopfdruck versteht sich):

Ich habe dazu die search.folder funktion verwendet um den Speicherordner auszulesen, aber im Excel integriert hat es plötzlich nicht mehr funktioniert.

Unser Ziel: Die Sekretären klickt im "Hauptdokument" auf einen Knopf und die Daten aus den verschiedenen Excel-Dokumenten werden automatisch in die Haupttabelle importiert.

Wenn ihr uns helfen könntet, währen wir echt froh, da wir eigentlich keine Programmierer sind!!

Vielen Dank im Voraus!

Mit freundlichen Grüßen

das Maturaprojektteam


Antwort schreiben

Antwort 1 von nighty vom 24.09.2019, 02:11 Options

hi matura :-)

welche excel version ?

versteh ich das richtig das verschiedene mappen ausgelesen werden sollen ?

wenn ja welches laufwerk,welcher pfad ?

welche tabellen der mappen sollen ausgelesen werden ?
welche bereiche oder zellen ?

wo sollen sie hinkopiert werden ?

mappe die die daten sammelt ist klar,welche tabelle,welche spalten ?

gruss nighty

Antwort 2 von nighty vom 24.09.2019, 02:16 Options

hi matura :-)

vorweg ein kleines beispiel was aus einem definierten verzeichnis einen definierten bereich kopiert und in einer mappe wieder darstellt :-)

gruss nighty

Sub FilesListen()
Call EventsOff
Dim Dateien As Integer
Dim DateiName As String
Dim zaehler As Boolean
Dim zeile As Long
With Application.FileSearch
.NewSearch
.LookIn = "D:\Temp\"
.SearchSubFolders = False
.Filename = "*.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
If DateiName <> ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
If zaehler = False Then
zeile = 13
Else
zeile = ThisWorkbook.Sheets("SammelTabelle").Cells(Rows.Count, 9).End(xlUp).Row + 1
End If
Workbooks(DateiName).Sheets("EineTabelle").Range("K12:L12").Copy ThisWorkbook.Sheets("SammelTabelle").Range("I" & zeile & ":J" & zeile)
zaehler = True
Workbooks(DateiName).Close SaveChanges:=True
End If
Next Dateien
End If
End With
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Antwort 3 von Maturant vom 24.09.2019, 09:12 Options

Hallo nighty,

danke für deine schnelle Antwort, also es ist so in den verschiedenen Excel.sheets gibt es bestimmte zellen zb C5 und B 7, etc... und die Daten aus diesen Zellen sollen im Gesamt-Excelsheet anderst nämlich in einer großen Tabelle dargestellt werden also

C5 --> nach B3
B7 --> nach C3

beispielsweise.

Die Excel-Dokumente heißen MaschineNR._ddmmyy(Datum)_hhmmss(Uhr)

Und es wäre super wenn wir es mit VBA herbringen könnten, dass die Dateien eingelesen werden und dann der Reihe nach die Daten aus den verschiedenen Zellen in die Haupttabelle importiert werden.

Hoffe, diese Infos reichen dir und bin um jede Hilfe froh!!

Danke im Voraus!

Mfg Maturant

Antwort 4 von nighty vom 24.09.2019, 15:59 Options

hi maturat :-)

schick eine mustertabelle an oberley@t-online.de mit angabe der wuensche

gruss nighty

Antwort 5 von nighty vom 24.09.2019, 19:19 Options

hi maturat :-)

was haelst davon :-)

gruss nighty

Sub Einlesen()
Call EventsOff
Dim Dateien As Integer
Dim DateiName As String
Dim zeile As Long
With Application.FileSearch
.NewSearch
.LookIn = "D:\Temp\"
.Filename = "*.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
If DateiName <> ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)
zeile = ThisWorkbook.Sheets("Tabelle2").Cells(Rows.Count, 5).End(xlUp).Row + 1
Workbooks(DateiName).Sheets(1).Range("D16:D23").Copy
ThisWorkbook.Sheets(2).Range("E" & zeile).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Workbooks(DateiName).Close
End If
Next Dateien
End If
End With
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Antwort 6 von Maturant vom 26.09.2019, 21:04 Options

Hallo nighty,

Danke für deine Bemühungen,
das hat mich auf jeden Fall einen guten Schritt weitergebracht!

Ich möchte echt ein Lob an dieses Forum aussprechen!! Hier wird einem sofort und von Profis geholfen!!

Echt ne super Sache!!

Danke nochmals und bis zum nächsten Mal!

Mfg

Maturant

Ähnliche Themen

Daten von verschiedenen Exceldateien in ein Hauptdokument importieren
garotinho  07.01.2008 - 44 Hits - 3 Antworten

Makro Daten Importieren
spool  25.02.2008 - 112 Hits - 3 Antworten

VBA-Excel
mentosbasi  28.05.2008 - 350 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 09:21:55 2026