Thema Datum  Von Nutzer Rating
Antwort
20.07.2021 15:47:01 Daniel
NotSolved
20.07.2021 16:53:06 Gast98233
NotSolved
Rot csv-Datei in Ordner samt Unterordner suchen und Daten kopieren in Tabelle 1
20.07.2021 20:58:33 Gast33356
NotSolved
20.07.2021 21:35:29 Gast74260
NotSolved
20.07.2021 21:53:55 Daniel
NotSolved
21.07.2021 11:07:26 Gast62016
NotSolved
21.07.2021 07:48:09 Gast63345
NotSolved

Ansicht des Beitrags:
Von:
Gast33356
Datum:
20.07.2021 20:58:33
Views:
180
Rating: Antwort:
  Ja
Thema:
csv-Datei in Ordner samt Unterordner suchen und Daten kopieren in Tabelle 1

Man müsste näheres zum Aufbau der Datei kennen, allgemein könnte man es so angehen.

Option Explicit

Public Sub Test()
  
  On Error GoTo ErrHandler
  
  Call ImportFromCSV( _
        Filename:="R:\Präp-Listen Temp\NGS\Rohdaten\0123456789.summary.csv", _
        Target:=Worksheets("Makro-Sheet").Range("C1"), _
        Columns:=6)
  
Exit Sub
ErrHandler:
  Call MsgBox(Err.Description, vbCritical, Err.Source & " - Fehler " & Err.Number)
End Sub

Private Sub ImportFromCSV(Filename As String, Target As Excel.Range, Optional Delimiter = ",", Optional Columns)
  
  If Dir$(Filename) = "" Then
    Call Err.Raise(53, Source:="ImportFromCSV()") 'file not found
  End If
  
  If Target Is Nothing Then
    GoTo ErrInvalidArg
  End If
  
  Dim objQueryTbl As Excel.QueryTable
  Dim objQuery As Excel.WorkbookQuery
  Dim strQuery As String
  
  On Error GoTo ErrInvalidArg
  strQuery = "let Source = Csv.Document(File.Contents(""" & Filename & """), " & _
              "[Delimiter=""" & Delimiter & """" & IIf(IsMissing(Columns), "", ",Columns=" & Int(Columns)) & "]) in Source"
  On Error GoTo 0
  
  With Target.Worksheet.Parent.Queries
    Set objQuery = .Add(Name:="__tempFileQuery", Formula:=strQuery)
  End With
  
  Dim strSource As String
  
  strSource = "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" & objQuery.Name & ";"
  
  Set objQueryTbl = ActiveSheet.ListObjects.Add(SourceType:=0, Source:=strSource, Destination:=Target).QueryTable
  With objQueryTbl
    .CommandType = xlCmdSql
    .CommandText = Array("SELECT * FROM [" & objQuery.Name & "]")
    .RefreshStyle = xlInsertDeleteCells
    .AdjustColumnWidth = True
    .BackgroundQuery = False
  End With
  
  Call objQueryTbl.Refresh
  Call objQueryTbl.ListObject.Unlist
  Call objQuery.Delete
  
Exit Sub
ErrInvalidArg:
  Call Err.Clear
  Call Err.Raise(5, "ImportFromCSV()") 'invalid arg or call
End Sub

Beachte bitte, dass das Trennzeichen auf das Komma voreingestellt ist - dem englischen Dateinamen nach ist das vermutlich auch der Fall.


Das Suchen nach der Datei (einschl. in Unterverzeichnissen) bleibe ich schuldig. Das Thema wurde schon über die Kotzgrenze hinaus oft genug behandelt - in diesem und anderen Foren ...

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
20.07.2021 15:47:01 Daniel
NotSolved
20.07.2021 16:53:06 Gast98233
NotSolved
Rot csv-Datei in Ordner samt Unterordner suchen und Daten kopieren in Tabelle 1
20.07.2021 20:58:33 Gast33356
NotSolved
20.07.2021 21:35:29 Gast74260
NotSolved
20.07.2021 21:53:55 Daniel
NotSolved
21.07.2021 11:07:26 Gast62016
NotSolved
21.07.2021 07:48:09 Gast63345
NotSolved