Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

alle Dateien aus Liste öffnen





Frage

Hallo zusammen, ich habe ein Makro-Problem. Ich bin noch ein Makro-Greenhorn und versuche mir das jetzt aus Euren Beispielen etwas anzueignen. Mein Prolem ist jetzt folgendes: Ich habe eine Liste, die in Spalte B Dateinamen enthält. Diese verändert sich tägich in Anzahl der Dateien (bis zu 20) und Namen der Dateien. Ich will diese Dateien jetzt nicht immer von Hand öffnen lasssen, sondern das soll ein Makro übernehmen. Ich denke, dass das in einer Schleife programmiert werden muss, die immer überprüft, ob die Zelle einen Inhalt (den Dateinamen) hat. Falls ja, dann soll die Datei geöffnet werden und die nächste zelle soll überprüft werden. Falls nein ist das Makro beendet. So klingt das gut, leider bekomme ich das aber nicht programmiert. Wäre schön, wenn mir da jemand helfen könnte. Vielen Dank im voraus. Holger

Antwort 1 von coros

Nabend Holger,

nachfolgendes Makro kopiere in ein Standar Modul und starte es über eine Befehlsschaltfläche.

Option Explicit

Sub Dateien_öffnen()
Dim Wiederholungen As Long
For Wiederholungen = 1 To Range("B65536").End(xlUp).Row
If Cells(Wiederholungen, 2) <> "" Then
Workbooks.Open Filename:="C:\" & Cells(Wiederholungen, 2)
Else
Exit Sub
End If
Next
End Sub



Obiges Makro öffnet über eine Schleife jede Datei, deren Name in Spalte B eingetragen wurde. Wenn eine leere zelle erreicht wurde, wird das Makro beendet.

Ich hoffe, Du hast das so gemeint. Teste das mal. Bei Fragen oder Problemen melde Dich.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von fubajunkie

Hallo Coros,

vielen Dank für Deine Hilfe. Leider habe ich noch etwas vergessen.
Bei den zu öffnenden Dateien handelt es sich um .TXT-Files. Den Vorgang zum Öffnen habe ich aufgezeichnet und in Dein Makro eingefügt. Leider funktioniert da etwas nicht.
Das Makro sieht jetzt so aus:
Sub Dateien_öffnen()
Dim Wiederholungen As Long
For Wiederholungen = 1 To Range("B65536").End(xlUp).Row
If Cells(Wiederholungen, 2) <> "" Then
ChDir "L:\Ppc\Movement_aktuell\Walli_aktuell"
Workbooks.OpenText Filename:="L:\Ppc\Movement_aktuell\Walli_aktuell\" & Cells(Wiederholungen, 2) _
Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
TrailingMinusNumbers:=True
Else
Exit Sub
End If
Next
End Sub

Kannst Du mir vielleicht nochmal helfen.

Danke schön.

MfG
Holger

Antwort 3 von coros

Hallo Holger,

was möchtest Du denn nun erreichen, das die Datei deren vollständiger Name in Spalte B steht geöffnet wird, oder dass die Daten der Datei, deren Name in Spalte B steht, in Deine Datei eingelesen/ importiert werden sollen.

Mit meinem Code werden die Dateien, deren Namen in Spalte B stehen, geöffnet. Dabei macht das kein Unterschied, ob in Spalte B der Name einer Exceldatei oder einer Textdatei angegeben ist. Wichtig ist nur, dass in Spalte B der vollständige Name mit Dateiendung steht, also z.B. Beispieldatei.xls oder Beispieldatei.txt.

Wenn ich mir Deinen geposteten Code so ansehe, sieht mir das aber so aus, als ob Du die Daten importieren möchtest. Schreib mal bitte, was Du erreichen möchtest, eventuell wird dann einiges klarer.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von fubajunkie

Hallo Coros,

ursprünglich handelt es sich bei den Dateien um txt-Dateien, die durch Semikolon getrennte Angaben enthält. Um diese zu bearbeiten habe ich die jeden Tag einzeln geöffnet. Also Datei öffnen und dann die TXT-Datei aufgerufen. Dann erschien das Dialogfeld, wie die Datei geöffnet werden soll (wo man auch einstellen kann, dass die TXT-Datei durch Semikolon getrennte Daten enthält).
Den oben stehenden Code habe ich durch die Aufnahme des Makros unter Excel. Die einzige Abwandlung steht bei dem Dateinamen, da ich dort ja die Variable einsetzen musste. Diesen Code habe ich dann in Deinen Code an der Stelle eingesetzt, wo die Datei geöffnet werden soll. Leider klappt das aber nicht.
Ganz schön umständlich beschrieben, oder. Aber ich bekomme es nicht einfacher hin. Sorry.

Viele Grüße
Holger

Antwort 5 von coros

Moin Holger,

wenn ich mir Deinen VBA Code ansehe, fehlt dort in der Zeile

Workbooks.OpenText Filename:="L:\Ppc\Movement_aktuell\Walli_aktuell\" & Cells(Wiederholungen, 2) _


hinter der Schließenklammer und vor der Underline (Unterstrich) ein Komma. Daher kommt eine Fehlermeldung zustande. Außerdem kannst Du auf den ChangeDirektory - Befehl (ChDir) verzichten. Das funktionierende Makro sieht dann also folgendermaßen aus. Kopiere es in ein StandardModul.

Option Explicit

Sub Dateien_öffnen()
Dim Wiederholungen As Long
For Wiederholungen = 1 To Range("B65536").End(xlUp).Row
If Cells(Wiederholungen, 2) <> "" Then
Workbooks.OpenText Filename:="L:\Ppc\Movement_aktuell\Walli_aktuell\" & _
Cells(Wiederholungen, 2), Origin:=437, StartRow:=1, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), _
Array(6, 1), Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
Else
Exit Sub
End If
Next
End Sub


MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 6 von fubajunkie

Hallo Coros,

vielen Dank für Deine Hilfe.
Ich musste zwar noch die Zeile
windows("Dateien").activate einfügen, weil das Makro sonst versucht hat die grade geöffnete Datei als Quelle zu nehmen, aber ohne Deine Hilfe hätte ich mir an diesem Ding wohl noch lange Zeit die Zähne ausgebissen.

Viele Grüße

Holger

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: