Excel: Daten aus csv importieren

Dieses Thema Excel: Daten aus csv importieren im Forum "Microsoft Office Suite" wurde erstellt von chillingodi, 9. Mai 2006.

Thema: Excel: Daten aus csv importieren Hallo zusammen, ich hab eine CSV Datei in der 44 Zahlenwerte durch Semikolon getrennt hintereinander in einer Zeile...

  1. Hallo zusammen,

    ich hab eine CSV Datei in der 44 Zahlenwerte durch Semikolon getrennt hintereinander in einer Zeile stehen.

    Nun würde ich gern die einzelnen Zahlenwerte untereinander jeweils in ein Feld in einer Excel Tabelle bekommen. Den ersten Wert z.B in A1 den zweiten in A2 usw.

    Außerdem sollte die Excel Tabelle jedesmal beim öffnen die csv Datei neu einlesen und die Werte aktualisieren.

    Um die Sache nicht ganz so einfach zu machen sollte die ganze Geschichte auch noch unter Excel 95 funktionieren.

    Gruß odi
     
  2. Hallo chillingodi,

    das mit Excel95 wird schwierig, da ich keines mehr habe.

    Für Excel 97 sollte es kein Problem sein.

    Ich werd mal ein Beispiel für Excel97 zusammenbauen und dann können wir schauen, ob excel95 das auch verdaut.

    Mit ein Feld meinst Du eine Zelle ? Also Wert, Zeilenvorschub, Wert, ...

    Und das immer in die gleiche Zelle ?

    Gruß Matjes :)
     
  3. Hallo Matjes,

    genau mit Feld meine ich Zelle.

    Aber nicht immer in die gleiche Zelle, oder wie meinst du das? Ich geb nochmal ein Beispiel:

    Meine csv-Datei:
    12; 14; 16; 8;

    Gewünschtes Ergebnis in Excel-Datei:
    A <- Spaltenüberschrift
    1 12
    2 14
    3 16
    4 8
    ^
    Zeile

    Schon mal vielen Dank im Voraus.

    Gruß odi
     
  4. Hallo chillingodi,

    folgender Makro macht das gewünschte unter Excel97.

    Dateinamen und Zielblatt mußt Du noch anpassen.
    (siehe <<< A N P A S S E N >>>)

    Code:
    Sub Excel_CSVImportZahlenAusDatei()
    'Import aus einer CSV-Datei, in der Zahlen durch Semikolon getrennt sind
    '1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16,6;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;
    '
    'Die Csv-Datei muß im Verzeichnis des Excel-Mappe liegen
    'Die Zeilen in der CSV-Datei werden auf dem Blatt->Import' spaltenweise ausgegeben
    '(Anfang bei A1)
    
    
     -><<< A N P A S S E N >>>
      Const c_CSV_DATEINAME = MyZahlenDaten.csv
      Const c_BLATT_ZIEL = Import
     -><<< A N P A S S E N   E N D E >>>
        
      Dim wb As Workbook, wsz As Worksheet
      Dim wbcsv As Workbook, wscsv As Worksheet
      Dim MyPath As String, Dateiname_Full As String
      Dim l_LetzteZeile As Long, l_LetzteSpalte As Long, dWert As Double
      Dim z As Long, sp As Long
        
     ->Aktive Arbeitsmappe setzen
      Set wb = ActiveWorkbook
      
          
     ->Pfad zur aktiven Arbeitsmappe
      MyPath = wb.Path
      
     ->vollständiger Pfad CSV-Datei
      Dateiname_Full = MyPath & Application.PathSeparator & c_CSV_DATEINAME
      
     ->ZielBlatt setzen
      On Error Resume Next
      Set wsz = wb.Worksheets(c_BLATT_ZIEL)
      If Err.Number <> 0 Then Err.Clear
      On Error GoTo 0
      If wsz Is Nothing Then
        MsgBox Zielblatt-> & c_BLATT_ZIEL &-> nicht vorhanden.
        GoTo AUFRAEUMEN
      End If
      
     ->CSV-Datei nicht vorhanden ?
      If Dir(Dateiname_Full) =  Then
        MsgBox CSV-Datei-> & Dateiname_Full &-> nicht vorhanden.
        GoTo AUFRAEUMEN
      End If
      
     ->CSV-Datei öffen, Trennzeichen->;'
      On Error Resume Next
      Workbooks.Open _
        FileName:=MyPath & Application.PathSeparator & c_CSV_DATEINAME, _
        Delimiter:=;
      If Err.Number <> 0 Then Err.Clear
      On Error GoTo 0
      Set wbcsv = ActiveWorkbook
      Set wscsv = ActiveSheet
      
     ->Prüfen, ob beim Öffnen etwas schiefgegangen ist
      If wbcsv.Name = wb.Name Then
        MsgBox CSV-Datei-> & Dateiname_Full &-> konnte nicht geöffnet werden.
        GoTo AUFRAEUMEN
      End If
      
     ->Benutzen Bereich feststellen
      l_LetzteZeile = wscsv.UsedRange.Rows.Count
      l_LetzteSpalte = wscsv.UsedRange.Columns.Count
      
      
     ->Werte der Zeilen in Spalten des Zielblattes übertragen
      On Error Resume Next
      For z = 1 To l_LetzteZeile
        For sp = 1 To l_LetzteSpalte
          dWert = CDbl(wscsv.Cells(z, sp).Value)
          If Err.Number <> 0 Then
            Err.Clear
            wsz.Cells(sp, z).Value = Fehler
          Else
            
            wsz.Cells(sp, z).Value = dWert
          End If
        Next
      Next
      
     ->CSV-Datei schliessen
      wbcsv.Close Savechanges:=False
      
    AUFRAEUMEN:
      Set wb = Nothing: Set wsz = Nothing
      Set wbcsv = Nothing: Set wscsv = Nothing
    End Sub
    Wenn der Makro funktioniert, kannst du ihn beim Öffnen aufrufen.
    Code muß in die Codeseite der Arbeitsmappe gelegt werden.
    (DieseArbeitsmappe)
    Code:
    Private Sub Workbook_Open()
      Call Excel_CSVImportZahlenAusDatei
    End Sub
    Gruß Matjes  :)
     
Die Seite wird geladen...

Excel: Daten aus csv importieren - Ähnliche Themen

Forum Datum
Import Datensatz inkl = und - Zeichen in Excel/Libre CALC Software: Empfehlungen, Gesuche & Problemlösungen 20. Mai 2016
Excel - Bestimmte Daten (Zeilen) in ein anderes Tabellenblatt einfügen Windows XP Forum 7. Juli 2012
Excel 2000 Liste Daten Gültigkeit erweitern Microsoft Office Suite 21. Dez. 2011
Sehr viele Daten in Excel-Datei! Frage! Microsoft Office Suite 11. Sep. 2011
Re: Excel - Hilfe bei Datenstruktur für spätere UserForm Windows XP Forum 6. Aug. 2010