Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1356to1360
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

auslesen von dateien

auslesen von dateien
11.04.2014 22:35:50
dateien
Hallo,
wie lässt sich das Makro unten folgend so anpassen, damit ich nicht immer den Pfad auswählen muss, wo die Dateien liegen? Das Makro soll immer auf den gleichen Ordner auf dem Server zugreifen und sich von dort die benötigen Informatioen holen.
Welche schnelleren Möglichkeiten gibt es noch sich Werte aus anderen Dateien zu holen? Das Makro öffnet eine Datei nach und nach und liest immer aus der gleichen Zeile aus und speichert die Werte in der Tabelle X ab. Die Prozedur dauert etwas, je nach dem wie viele Daeien auszulesen sind. Lässt sich eine Verknüpfung herstellen, durch die ich sofort beim eintragen eines Wertes die Information in meiner Tanelle X erhalte ohne ein Makro dazwischen schalten zu muss?
Sub DatenImportieren()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Auslesen der einzelnen Fahrzeugdateien
Dim sVerzeichnis$, sDatei$
Dim wbZiel As Workbook, wbQuelle As Workbook
Dim wksZiel As Worksheet, wksQuelle As Worksheet
Dim ZeileZ&, FileCount&
Dim Zelle As Range
Const StartZelle$ = "K3" '1. Auszulesende Zelle in Tabelle 1
Const Schritt& = 1 'Spaltenabstand der auszulesenden Zellen
On Error GoTo Fehler
'Suchverzeichnis auswahlen
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Bitte Ordner mit zu durchsuchenden Dateien wählen"
.ButtonName = "Auswählen"
If .Show = -1 Then
sVerzeichnis = .SelectedItems(1)
sDatei = Dir(sVerzeichnis & Application.PathSeparator & "*.xl*")
If sDatei  "" Then
'neue Datei mit einem Tabellenblatt für Ergebnisdaten erstellen
Set wbZiel = Workbooks.Add(Template:=xlWBATWorksheet)
'Zieltabellenblatt Objektvariable zuweisen
Set wksZiel = wbZiel.Worksheets(1)
ZeileZ = 1
With wksZiel
'Titelzeile ausfüllen
.Cells(ZeileZ, 1) = "Info"
.Cells(ZeileZ, 2) = "Status offene Punkte"
.Cells(ZeileZ, 3) = "Dateiname"
End With
End If
Application.ScreenUpdating = False
Do Until sDatei = ""
FileCount = FileCount + 1
Application.StatusBar = "Datei, laufende Nr. " & FileCount & " wird bearbeitet."
'Quelldatei schreibgeschützt öffnen
Set wbQuelle = Workbooks.Open( _
Filename:=sVerzeichnis & Application.PathSeparator & sDatei, _
ReadOnly:=True)
'Tabelle1 Objektvariable zuweisen
Set wksQuelle = wbQuelle.Worksheets(1)
'Werte aus Blatt 1 auslesen
Set Zelle = wksQuelle.Range(StartZelle)
Do Until IsEmpty(Zelle)
If Zelle.Value  0 Then
ZeileZ = ZeileZ + 1
With wksZiel
'Info aus Zeile 1 eintragen
.Cells(ZeileZ, 1) = wksQuelle.Cells(1, Zelle.Column).Value
'Status offene Punkte
.Cells(ZeileZ, 2) = Zelle.Value
'Dateiname eintragen
.Cells(ZeileZ, 3) = sDatei 'gespeicherter Dateiname
'              .Cells(ZeileZ, 3) = wksQuelle.Cells(1, 1).Value 'Dateinem in A1 des Quellblatts
End With
End If
'Nächste Zelle setzen
Set Zelle = Zelle.Offset(0, Schritt)
Loop
wbQuelle.Close SaveChanges:=False
Set wksQuelle = Nothing
Set wbQuelle = Nothing
sDatei = Dir
Loop
Application.ScreenUpdating = True
'MsgBox "Alle Dateien ausgelesen" (hier mit dem ' ausgeblendet, da nutzlos)
End If
End With
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case Else
Application.ScreenUpdating = True
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
If Not wbQuelle Is Nothing Then wbQuelle.Close SaveChanges:=False
End Select
End With
Set wbZiel = Nothing
Set wbQuelle = Nothing
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auslesen von dateien
12.04.2014 12:48:15
dateien
Hallo,
ungetestet so. (siehe unten)
"Welche schnelleren Möglichkeiten gibt es"
Kommt darauf an ob die Tabellen alle gleich sind und welche Daten benötigt werden.
Wenn Du ein oder zwei Beispiele und beschreibst welche Daten benötigt werden und wo diese hin sollen,
könnte man mal versuche was einzubauen.
Sub DatenImportieren()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Auslesen der einzelnen Fahrzeugdateien
Dim sVerzeichnis$, sDatei$
Dim wbZiel As Workbook, wbQuelle As Workbook
Dim wksZiel As Worksheet, wksQuelle As Worksheet
Dim ZeileZ&, FileCount&
Dim Zelle As Range
Const StartZelle$ = "K3" '1. Auszulesende Zelle in Tabelle 1
Const Schritt& = 1 'Spaltenabstand der auszulesenden Zellen
On Error GoTo Fehler
'Suchverzeichnis auswahlen
sVerzeichnis = "C:\Ordner" 'Hier Pfad angeben
sDatei = Dir(sVerzeichnis & Application.PathSeparator & "*.xl*")
If sDatei  "" Then
'neue Datei mit einem Tabellenblatt für Ergebnisdaten erstellen
Set wbZiel = Workbooks.Add(Template:=xlWBATWorksheet)
'Zieltabellenblatt Objektvariable zuweisen
Set wksZiel = wbZiel.Worksheets(1)
ZeileZ = 1
With wksZiel
'Titelzeile ausfüllen
.Cells(ZeileZ, 1) = "Info"
.Cells(ZeileZ, 2) = "Status offene Punkte"
.Cells(ZeileZ, 3) = "Dateiname"
End With
End If
Application.ScreenUpdating = False
Do Until sDatei = ""
FileCount = FileCount + 1
Application.StatusBar = "Datei, laufende Nr. " & FileCount & " wird bearbeitet."
'Quelldatei schreibgeschützt öffnen
Set wbQuelle = Workbooks.Open( _
Filename:=sVerzeichnis & Application.PathSeparator & sDatei, _
ReadOnly:=True)
'Tabelle1 Objektvariable zuweisen
Set wksQuelle = wbQuelle.Worksheets(1)
'Werte aus Blatt 1 auslesen
Set Zelle = wksQuelle.Range(StartZelle)
Do Until IsEmpty(Zelle)
If Zelle.Value  0 Then
ZeileZ = ZeileZ + 1
With wksZiel
'Info aus Zeile 1 eintragen
.Cells(ZeileZ, 1) = wksQuelle.Cells(1, Zelle.Column).Value
'Status offene Punkte
.Cells(ZeileZ, 2) = Zelle.Value
'Dateiname eintragen
.Cells(ZeileZ, 3) = sDatei 'gespeicherter Dateiname
'              .Cells(ZeileZ, 3) = wksQuelle.Cells(1, 1).Value 'Dateinem in A1 des Quellblatts
End With
End If
'Nächste Zelle setzen
Set Zelle = Zelle.Offset(0, Schritt)
Loop
wbQuelle.Close SaveChanges:=False
Set wksQuelle = Nothing
Set wbQuelle = Nothing
sDatei = Dir
Loop
Application.ScreenUpdating = True
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case Else
Application.ScreenUpdating = True
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
If Not wbQuelle Is Nothing Then wbQuelle.Close SaveChanges:=False
End Select
End With
Set wbZiel = Nothing
Set wbQuelle = Nothing
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub
Gruß Tino

Anzeige
AW: auslesen von dateien
12.04.2014 22:38:39
dateien
Hallo Tino,
vielen Dank, das funktioniert schon mal.
Hier mal das die Sheets die ich dafür verwende. Leider dauert die Berechnung sehr lange wenn einige Dateien eingespielt und ausgelesen werden. Das Auslesen muss immer wieder angestoßen werden, um zu sehen wie weit die Datei bereits gepflegt wurde.
Folgende Vorgensweise:
1. Button für Gesamtabruf ausführen in der Verwaltungsdatei: Tabelle "MAKRO_1_Daten"
2. Pfad angeben wo sich die Fahrzeugdatei befindet
Verwaltungsdatei:
https://www.herber.de/bbs/user/90129.zip
z.B. Fahrzeugdatei:
https://www.herber.de/bbs/user/90130.zip
Vielen Dank schon einmal vorab.
gruß Tom

Anzeige
AW: auslesen von dateien
13.04.2014 00:21:51
dateien
Hallo,
habe in die Datei was für die abfrage eingebaut, kannst mal versuchen ob dies schneller geht.
Im Modul1 müsstest Du den Pfad anpassen wo die Fahrzeugdateien sind.
https://www.herber.de/bbs/user/90131.zip
Gruß Tino

AW: auslesen von dateien
13.04.2014 10:56:54
dateien
Hallo Tino,
wow ist super, geht ja jetzt richtig ab. Vielen Dank!!!!
Was meinst Du wie soll ich mit der Hyperlink-Erstellung und dem Anzeigen der ausgelesenen Werte in der Tabelle "externe Nachträge" weitermachen, damit das ganze nicht wieder ausgebremst wird?
gruß tom

Anzeige
AW: auslesen von dateien
14.04.2014 08:25:40
dateien
Hallo,
ich würde nur das nötigste einstellen.
Beispiel weil ich nicht alles benötigte kenne.
Pfad wo die Dateien liegen im Code wieder anpassen.
In der Tabelle externe Nachträge ist die Zeile 3 die Referenzzeile,
von dieser wird die Formatierung für die nachfolgenden verwendet.
https://www.herber.de/bbs/user/90142.xlsm
Gruß Tino

AW: auslesen von dateien
14.04.2014 12:59:41
dateien
Hallo Tino,
langsam wir es richtig genial! Kein Vergleich zudem was ich vorher als Makro hatte!
Was jetzt noch nicht geht ist der Verweis auf die Fahrzeugdatei(en) mit dem Hyperlink. Kannst Du mir da noch etwas anpassen?
Bisher wurden die abgearbeiteten Fahrzeugdateien in einen Archiv verschoben und die ausgelesenen Werte aus der Fahrzeugdatei wie z.B. Kundenname, Fahrzeugnr. usw. blieben in dem Nachtragscockpit erhalten.
Dein Makro zeichnet die aktuellen Dateien auf die sich unter dem angegebenen Pfad befinden und die nicht mehr vorhandenen werden überschrieben/gelöscht.
Alle eingelesenen Einträge sollen im Nachtragscockpit erhalten bleiben, auch wenn sie verschoben werden in ein Archiv. Die neuen Fahrzeugdateien sollen immer unten angehängt werden.
Kannst Du mir Deine Datei noch einmal dahingehend abändern?
Oder kann man das in ein Archiv verschieben umgehen? Das Archiv wurde nur eingeführt, weil es mittlerweile ca. 900 Fahrzeugdateien gibt und die jedes Mal erneut einlesen zu viel Zeit in Anspruch nimmt, zudem geht der Hyperlink auf die Datei durch das Verschieben auch verloren.
Wäre nett wenn Du mir noch einmal helfen könntest.
Herzlichen Dank schon einmal vorab!!!!
grüsse Tom

Anzeige
AW: auslesen von dateien
15.04.2014 09:34:29
dateien
Hallo,
ich würde schon bei dieser menge bei einem Archiv bleiben.
Woran kann man den erkennen welche Dateien abgearbeitet sind und ins Archiv verschoben werden können?
Wenn man dies erkennen kann, könnte man diese Dateien automatisch verschieben und
die Daten in einer anderen Datei ablegen zBsp Archiv.xlsx.
Gruß Tino

AW: auslesen von dateien
15.04.2014 10:47:18
dateien
Hi,
erkennen lässt es sich daran das im Nachtragscockpit in der Spalte AC "Freigabe..." ein Ja oder ein Nein geschrieben wird oder/und in der Spalte AD "Bewertungsdatum..." das akteulle Datum gesetzt wird. Beides erfolgt manuell.
In den Fahrzeugdateien selber gibt es bisher kein Feld das eindeutig die Freigabe kennzeichnet.
Gruß Tom

Anzeige
AW: auslesen von dateien
15.04.2014 11:15:00
dateien
Hallo,
heute komme ich nicht mehr dazu, werde mich morgen noch einmal melden!
Gruß Tino

AW: auslesen von dateien
15.04.2014 14:03:30
dateien
Hallo Tino,
ja gerne ;-) keim Stress bin ja froh dass Du mir hilfst!!!
gruß Tom

AW: auslesen von dateien
16.04.2014 11:17:36
dateien
Hallo,
so habe mal was zusammengebaut.
Im Modul Modul3_Archiv musst Du den Pfad anpassen wo die Archiv-Datei liegen soll
(aktuell wird diese erstellt wo auch diese Datei liegt)
Und den Pfad wo die Archivdaten hin sollen auch anpassen (Ordner muss vorhanden sein).
Wie zuvor auch im Modul1 wieder den Pfad anpassen wo die Dateien liegen.
https://www.herber.de/bbs/user/90194.xlsm
Gruß Tino

Anzeige
AW: auslesen von dateien
17.04.2014 07:28:18
dateien
Guten Morgen Tino,
funktioniert schon mal richtig super.
Was mir noch aufgefallen ist, die ausgelesenen Werte aus den Fahrzeugdateien werden in der Tabelle "externe Nachträge" nur in der ersten Zeile angezeigt, die nachfolgenden Positionen sind #NV.
Und wenn ich archiviere werden die Inhalte aus der geweiligen Zeile gelöscht. Ich benötige die Fahrzeugdatei selber nicht mehr bzw. sie wird archivier wegen der Laufzeit, aber in der Übersicht "externe Nachträge" muss der Eintrag bestehen bleiben.
Wenn ich es richtig verstehe muss ich nur den Pfad 1x in dem Modull anpassen (wo die Dateien abgelegt sind) und 1x im Modul3 (wohin die Dateien archiviert werden sollen).
'hier den Pfad angeben wo die Datein liegen
sPath = "G:\1 Forum\Lese_Excel_Daten\Daten\"
'wo die Daten fürs Archiv hin sollen, Ordner muss vorhanden sein!
sPathArchivDateien = "G:\1 Forum\Lese_Excel_Daten\Archiv\"
sPathArchivDateien = IIf(Right$(sPathArchivDateien, 1) = "\", sPathArchivDateien, sPathArchivDateien & "\")
Ich werde noch weiter testen un mich noch einmal melden.
Vielen Dank
Tom
P.S. wie kann ich mich erkenntlich zeigen für die tolle Arbeit?

Anzeige
AW: auslesen von dateien
17.04.2014 08:59:49
dateien
Hallo,
da hat sich doch ein Fehler eingeschlichen wegen dem #NV.
https://www.herber.de/bbs/user/90224.xlsm
Und ja mit dem anpassen des Pfades liegst Du richtig.
Gruß Tino

AW: auslesen von dateien
17.04.2014 09:46:58
dateien
Hallo,
ok, vielen Dank.
Hast Du noch eine Idee wie man trotz der Archivierung der Fahrzeugdatei, die Fahrzeugwerte in der Übersicht "externe Nachträge" behält?
Optimal wäre es den Hyperlink dann auf den Archiv Ordner zu bekommen und die Werte der Erstbewertung einzufrieren.
Grüsse
Tom

AW: auslesen von dateien
17.04.2014 11:58:53
dateien
Hallo noch einmal,
oh...übersehen, es wird eine zweite Datei mit den Archivdateien erstellt. Hm...eigentliche keine schlechte Idee....muss ich mir mal durch den Kopft gehen lassen und testen...
gruß Tom

Anzeige
AW: auslesen von dateien
17.04.2014 12:10:06
dateien
....also ich finde es spitzenmässig ;-) und der Abruf ist ja rasend schnell!!
Wenn die Archivdaten jetzt noch in einem eigenen Tabellenblatt in derselben Datei erstellt werden würden, dann bin ich am Ziel.
gruss tom

AW: auslesen von dateien
18.04.2014 18:14:49
dateien
Hallo,
so jetzt habe ich einiges durchgetestet. Zwei Dinge hätte ich noch ;-)
Der Kundenname in der Spalte I wird nicht mehr richtig angezeigt und in den leeren Spalten J, K usw... wird in jeder Zelle manuell etwas von mir eingepflegt. Wenn ich jetzt über den Butten Gesamtabruf aktualisiere werden meine eingefügten Informationen gelöscht. Kannst Du mir bitte das noch so anpassen, damit die Informationen erhalten bleiben?
Das mit dem Archiv ist echt super. Würde es aber gerne in der Nachtragsdatei in einer weiteren Tabelle integrieren wollen. Geht das überhaupt?
Gruß Tom

Anzeige
AW: auslesen von dateien
20.04.2014 22:22:02
dateien
Hallo,
so jetzt habe ich einiges durchgetestet. Zwei Dinge hätte ich noch ;-)
Der Kundenname in der Spalte I wird nicht mehr richtig angezeigt und in den leeren Spalten J, K usw... wird in jeder Zelle manuell etwas von mir eingepflegt. Wenn ich jetzt über den Butten Gesamtabruf aktualisiere werden meine eingefügten Informationen gelöscht. Kannst Du mir bitte das noch so anpassen, damit die Informationen erhalten bleiben?
Das mit dem Archiv ist echt super. Würde es aber gerne in der Nachtragsdatei in einer weiteren Tabelle integrieren wollen. Geht das überhaupt?
Gruß Tom

AW: auslesen von dateien
20.04.2014 22:29:49
dateien
Hallo Tino,
kannst du mir noch einmal helfen?
Gruß

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige