Thema Datum  Von Nutzer Rating
Antwort
03.12.2020 08:45:29 Peter
**
NotSolved
03.12.2020 09:26:47 Gast88365
NotSolved
Rot CSV Import in Separate Arbeitsmappe (Tabellenblatt)
03.12.2020 09:27:52 volti
NotSolved
03.12.2020 10:59:59 Gast88551
NotSolved
03.12.2020 12:19:11 volti
NotSolved
04.12.2020 10:59:27 Gast17626
NotSolved
04.12.2020 11:23:42 volti
NotSolved
04.12.2020 11:40:42 Gast12997
NotSolved
04.12.2020 12:41:37 volti
NotSolved
04.12.2020 14:47:14 Gast71370
NotSolved
04.12.2020 14:47:15 Gast44870
NotSolved
16.12.2020 09:46:36 Peter
NotSolved
16.12.2020 09:46:38 Peter
NotSolved

Ansicht des Beitrags:
Von:
volti
Datum:
03.12.2020 09:27:52
Views:
523
Rating: Antwort:
  Ja
Thema:
CSV Import in Separate Arbeitsmappe (Tabellenblatt)

Hallo Peter,

 

anliegend mal ein etwas kompakterer Code zum Einlesen der CSV-Daten.

 

Im Kopf kannst Du das Zielblatt festlegen oder auch das gerade aktive Blatt nutzen.

Zum Verschieben der Zellen kann ich nichts sagen. Bei mir verschiebt sich nichts.Leerzellen sind ja auch durch ";" getrennt. Lediglich kürzere Zeilen würden die jeweils letzten Spalten ggf. nicht füllen. Das ist aber egal, da sie ohnehin leer wären. Wenn da schon was stand, bleibt das dann stehen. Aber man ja vorher alles löschen.

Private Sub CommandButtonImport_Click()
    Dim fd As Office.FileDialog
    Dim WSh As Worksheet
    
'    Set WSh = ActiveWorkbook.Sheets("Schichten")    'ggf. anpassen
    Set WSh = ActiveSheet                          'Oder das gerade aktive Blatt nehmen
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
            .Filters.Clear
            .Title = "Select a CSV File"
            .Filters.Add "CSV", "*.csv", 1
            .AllowMultiSelect = False
             
        Dim sFile As String
        If .Show = True Then
            sFile = .SelectedItems(1)
        End If
         
    End With
     
    ' Import CSV from FileDialog
    If sFile <> "" Then
        Open sFile For Input As #1
            row_number = 1
            Do Until EOF(1)
                Line Input #1, LineFormFile
                LineItems = Split(LineFormFile, ";")
                WSh.Cells(row_number, 1).Resize(1, UBound(LineItems) + 1) = LineItems
                row_number = row_number + 1
            Loop
        Close #1
    End If
     
End Sub

viele Grüße

Karl-Heinz


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
03.12.2020 08:45:29 Peter
**
NotSolved
03.12.2020 09:26:47 Gast88365
NotSolved
Rot CSV Import in Separate Arbeitsmappe (Tabellenblatt)
03.12.2020 09:27:52 volti
NotSolved
03.12.2020 10:59:59 Gast88551
NotSolved
03.12.2020 12:19:11 volti
NotSolved
04.12.2020 10:59:27 Gast17626
NotSolved
04.12.2020 11:23:42 volti
NotSolved
04.12.2020 11:40:42 Gast12997
NotSolved
04.12.2020 12:41:37 volti
NotSolved
04.12.2020 14:47:14 Gast71370
NotSolved
04.12.2020 14:47:15 Gast44870
NotSolved
16.12.2020 09:46:36 Peter
NotSolved
16.12.2020 09:46:38 Peter
NotSolved