Thema Datum  Von Nutzer Rating
Antwort
03.12.2020 08:45:29 Peter
**
NotSolved
03.12.2020 09:26:47 Gast88365
NotSolved
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
Rot CSV Import in Separate Arbeitsmappe (Tabellenblatt)
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:
04.12.2020 12:41:37
Views:
499
Rating: Antwort:
  Ja
Thema:
CSV Import in Separate Arbeitsmappe (Tabellenblatt)

Hier eine Idee:

Option Explicit

Private Sub CommandButtonImport_Click2()
    Dim fd As Office.FileDialog
    Dim iZeile As Long, oZiel As Range
    Dim sSpArr() As String, sZlArr() As String
    Dim iBeginn As Integer
 
    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 Then
           sFile = .SelectedItems(1)
        End If
    End With
       
    ' Import CSV from FileDialog
    If sFile <> "" Then
         
        
'Neues Blatt einfügen
        Sheets.Add , Sheets(Sheets.Count)
        On Error Resume Next
        ActiveSheet.Name = Replace(Mid$(sFile, InStrRev(sFile, "\") + 1), ".csv", "")
        On Error GoTo 0
        Set oZiel = ActiveSheet.Range("A1") 'Hier beginnt die Ausgabe
         
'Daten in Zeilenarray schaffen
        sZlArr = Split( _
           CreateObject("Scripting.FileSystemObject") _
              .OpenTextFile(sFile).readall, vbCrLf)
'Prüfen, ob ertse Zeile genomme werden soll
        sSpArr = Split(sZlArr(0), ";")

'Wenn erstes Feld leer ist, dann erst mit der zweiten Zeile anfangen
        If sSpArr(0) = "" Then iBeginn = 1

'Daten zeilenweise ausgeben
        For iZeile = iBeginn To UBound(sZlArr)
            sSpArr = Split(sZlArr(iZeile), ";")
            If UBound(sSpArr) >= 0 Then
                oZiel.Offset(iZeile, 0).Resize(, UBound(sSpArr) + 1) = sSpArr
            End If
        Next iZeile
    End If
 End Sub

Gruß KH


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
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
Rot CSV Import in Separate Arbeitsmappe (Tabellenblatt)
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