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

CSV automatisch Importieren

CSV automatisch Importieren
03.04.2021 11:00:13
Alexander
Hallo evtl. kann mich jemand unterstützen :)
und zwar möchte ich gern, das ich mit einem VBA Code immer um 24 Uhr einen Ordner auf neuere CSV Files prüfen lassen und diese dann in excel importieren lassen.
leider bin ich zu schlecht mit VBA /cry mit dem Macro Recorder alleine klappt es nicht..
In diesem Code steht der Pfad zu dem Ordner, Importiert sollte es immer auf Tabelle1 werden.
Danke
Sub CSV_Import()
' CSV_Import Makro
Workbooks.OpenText Filename:= _
"C:\Users\OneDrive\Desktop\Neuer Ordner (3)\Mappe3 ", _
Origin:=65001, 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)), TrailingMinusNumbers  _
_
:=True
End Sub


21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV automatisch Importieren
03.04.2021 14:31:51
Alexander
Hallo erstmal vielen Dank Armin, muss ich bei Option Explicit noch irgendwas mit eintragen für die Zeitangabe ?

AW: CSV automatisch Importieren
03.04.2021 14:38:22
Alexander
ah habs gesehen ;) Danke erstmal

AW: dann thread auch nicht offen kennzeichnen owT
03.04.2021 16:14:13
neopa
Gruß Werner
.. , - ...

AW: dann thread auch nicht offen kennzeichnen owT
03.04.2021 17:53:48
Alexander
Warum schreibt es in der ersten Spalte immer so einen komischen Wert ?
Test Test wäre korrekt aber die Sonderzeichen ?

AW: dann thread auch nicht offen kennzeichnen owT
03.04.2021 19:45:01
Armin
Hallo Wener,
dann steht warscheinlich etwas am Header der csv-Datei. Schicker mir mal 3-4 Zeilen dann kann ich mir das einmal anschauen. Editor kein Word verwenden!
Gruß Armin

Anzeige
AW: Du meinst sicherlich Alexander, nicht mich owT
04.04.2021 11:02:29
neopa
Gruß Werner
.. , - ...

AW: dann thread auch nicht offen kennzeichnen owT
04.04.2021 13:10:31
Alexander
Hat sich geklärt, lag wohl am Format..
Kann man dem Code evtl. sagen das er das CSV File erst ab Zeile 2 einliest ? Weil die erste Zeile ist immer die selbe mit den Spaltenbezeichnungen ..

AW: dann thread auch nicht offen kennzeichnen owT
04.04.2021 13:34:56
Alexander
Spalte I lest es nicht mit ein :( , A bis Spalte H lest es alle Werte ein nur Spalte I nicht.
Sub Daten_Laden()
Dim Path As String, FN As String
Dim K As Integer, N As Integer
Dim InpStr As String
Dim Pool() As String
Dim nFileNr As Variant
Const Seperator = ";"
FN = "*.csv"
Path = "C:\Users\wacht\OneDrive\Desktop\Neuer Ordner (3)"
If Right(Path, 1)  "\" Then Path = Path & "\"
FN = Dir(Path & FN)
If FN = "" Then Exit Sub
Application.DisplayAlerts = False
On Error GoTo Errorhandler
nFileNr = FreeFile
N = 1
Do While FN  ""
nFileNr = FreeFile
Open Path & FN For Input Access Read As #nFileNr
With Worksheets("Tabelle1")
While Not EOF(nFileNr)
Line Input #nFileNr, InpStr
Pool = Split(InpStr, Seperator)
For K = 0 To UBound(Pool) - 1
.Cells(N, K + 1).Value = Pool(K)
Next
N = N + 1
Wend
End With
Close #nFileNr
Erase Pool
FN = Dir
Loop
Application.DisplayAlerts = True
Exit Sub
Errorhandler:
MsgBox "Fehler # " & Str(Err.Number) & " wurde ausgelöst von " _
& Err.Source & Chr(13) & Err.Description
Call Speichern
End Sub


Anzeige
AW: dann thread auch nicht offen kennzeichnen owT
04.04.2021 13:38:43
Armin
Hallo Alexander,
einfach die Zeile Line Input #nFileNr, InpStr zwei mal nach einander. Dann wird die erste Zeile nicht übernommen.
  • ................
    While Not EOF(nFileNr)
    Line Input #nFileNr, InpStr
    Line Input #nFileNr, InpStr
    Pool = Split(InpStr, Seperator)
    .............................


  • AW: dann thread auch nicht offen kennzeichnen owT
    04.04.2021 13:40:47
    Alexander
    Alles klar, Danke
    Bei Spalte I hab ich jetz das -1 entfernt bei For K = 0 To UBound(Pool)
    so lest es anscheinend nun auch die Spalte I ein

    AW: dann thread auch nicht offen kennzeichnen owT
    04.04.2021 13:41:45
    Alexander
    Wo oder wie prüft der Code das eine CSV im Ordner neuere Daten enthält ?

    AW: dann thread auch nicht offen kennzeichnen owT
    04.04.2021 16:10:49
    Armin
    Hallo Alexander,
    das ist definitiv falsch. Aber die Kopfzeile bekommst Du nur weg wenn die Line Input zwei mal untereinander stehen.
    Die Zeile For K = 0 To UBound(Pool) -1 muss datsächlich For K = 0 To UBound(Pool) heißen das führt dazu das der letzte Wert in der Zeile nicht dargestellt wurde.
    Gruß Armin

    Anzeige
    AW: dann thread auch nicht offen kennzeichnen owT
    04.04.2021 16:43:34
    Alexander
    Wie sieht der Code was die aktuellste CSV File in dem Ordner ist ?

    AW: dann thread auch nicht offen kennzeichnen owT
    05.04.2021 08:17:52
    Armin
    Hallo Alexander,
    davon habe ich nichts gelesen in Deinen Statements. Zur Zeit liest er alles ein was in dem Ordner als csv findet. Da müsste man andere mechanismen einbauen.
    z.Bsp. eingelesene File löschen oder wenn sie noch gebraucht werden verschieben in ein anderen Ordner. Wenn das nicht sein soll dann muss in Deinem Sheet ein Merkmal vorhanden sein das einmalig ist damit man prüfen kann was vorhanden ist und was nicht. Wie Du siehst es sind eine Menge überlegungen erforderlich.
    Gruß Armin

    AW: dann thread auch nicht offen kennzeichnen owT
    05.04.2021 16:57:00
    Alexander
    Option das er das File löscht wäre gut, kannst du mir das noch mit einbauen Bitte. Gruß

    Anzeige
    AW: dann thread auch nicht offen kennzeichnen owT
    05.04.2021 17:05:11
    Alexander
    Verschieben in einen Ordner wäre noch besser, so geht das File nicht verloren. Am besten im selben Ordner wo auch das CSV File eingelesen wird.

    AW: dann thread auch nicht offen kennzeichnen owT
    06.04.2021 11:49:36
    Alex
    Vielen Dank, jetzt gebe ich Ruhe fürs erste ;) Danke

    AW: dann thread auch nicht offen kennzeichnen owT
    06.04.2021 15:18:10
    Alex
    hmm irgendetwas passt nicht, ich bekomme immer eine msg Box mit Fehler # 62 wurde ausgelöst von VBAProject Input past end of file

    AW: dann thread auch nicht offen kennzeichnen owT
    06.04.2021 17:28:11
    Armin
    Hallo Alexander,
    die Fehlermeldung sagt ja schon woran das liegt! Die csv-Datei ist schlambig erstellt worden und hat irgent einen Fehler. Tritt da bei allen Dateinen auf brauche ich eine original Datei sonst kann man den Fehler nicht finden. Da ist am Ende wahrscheinlich noch ein Zeichen das nicht zur Datei gehört.
    Hast Du das Seperator Zeichen in ";" geändert falls die csv-Datei dieses verwendet? Ich bin mir jetzt nicht sicher was ich Dir voreingestellt habe.
    Öffne mit einem Editor einmal eine csv Datei wenn Du es nicht weist.
    Gruß Armin
    Anzeige

    301 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige