Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: csv Textdatei in xls kopieren

csv Textdatei in xls kopieren
21.03.2014 19:46:11
Peter
hallo Freunde,
ich möchte eine csv-(Text)Datei mit Makro in eine Exceltabelle kopieren.
Dabei soll nach jedem Simicolon der Textwert in die nächste Spalte geschrieben werden: "Text;1;2;3 also Text in Spalte "A", 1 in Spalte "B", 2 in Spalte "C" usw.
Wenn ich ohne Makro mit "c" und "v" kopiere, dann funktioniert die Spaltentrennung per Simicolon. Mit meinem Makro nicht. Dort wird alles wie in der csv-Datei hintereinander kopiert.
Kann mir jemand helfen und den richtigen Code schreiben.
Workbooks.OpenText Filename:=oldfileOpen....
Gruß Peter

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: csv Textdatei in xls kopieren
22.03.2014 08:05:31
Beverly
Hi Peter,
führe nach dem Einfügen noch Text in Spalten aus (das lässt sich mit dem Makrorekorder aufzeichnen).


AW: csv Textdatei in xls kopieren
22.03.2014 10:08:33
Uwe
Hallo Peter,
das hab ich in der Recherche gefunden. Evtl ein Ansatz.
Option Explicit
Const CsvSeparator = ";"
'**************************************
'Daten aus csv-Datei in EXCEL einlesen*
'**************************************

Sub ImportCSV()
Dim Dateiname
Dim nFileNr     As Long
Dim RowCount    As Long
Dim csvRow      As Integer
Dim temp        As String
Dim csvCells()  As String
Dim ws          As Worksheet
Set ws = ActiveWorkbook.Sheets("Tabelle1")
Dateiname = Application.GetOpenFilename("Textdateien,*.csv")
If Dateiname  False Then
Application.ScreenUpdating = False
nFileNr = FreeFile
Open Dateiname For Input Access Read As #nFileNr
'Line Input #nFileNr, temp
RowCount = 0
While Not EOF(nFileNr)
Line Input #nFileNr, temp
csvCells = Split(temp, CsvSeparator)
ws.Cells(RowCount, 1).Value = csvCells(0)
ws.Cells(RowCount, 2).Value = csvCells(1)
ws.Cells(RowCount, 3).Value = csvCells(2)
RowCount = RowCount + 1
Erase csvCells
Wend
Close #1
'Hochkomma entfernen
Cells.Find(What:="""", After:=ActiveCell, LookIn:=xlFormulas, lookat:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Cells.Replace What:="""", Replacement:="", lookat:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Application.ScreenUpdating = True
End If
End Sub

Gruß Uwe

Anzeige
kleine Änderung
22.03.2014 10:21:25
Uwe
Option Explicit
Const CsvSeparator = ";"
'**************************************
'Daten aus csv-Datei in EXCEL einlesen*
'**************************************

Sub ImportCSV()
Dim Dateiname
Dim nFileNr     As Long
Dim RowCount    As Long
Dim csvRow      As Integer
Dim temp        As String
Dim csvCells()  As String
Dim ws          As Worksheet
Set ws = ActiveWorkbook.Sheets("Tabelle1")
Dateiname = Application.GetOpenFilename("Textdateien,*.csv")
If Dateiname  False Then
Application.ScreenUpdating = False
nFileNr = FreeFile
Open Dateiname For Input Access Read As #nFileNr
'Line Input #nFileNr, temp
RowCount = 0
While Not EOF(nFileNr)
Line Input #nFileNr, temp
csvCells = Split(temp, CsvSeparator)
ws.Cells(1 + RowCount, 1).Value = csvCells(0)
ws.Cells(1 + RowCount, 2).Value = csvCells(1)
ws.Cells(1 + RowCount, 3).Value = csvCells(2)
RowCount = RowCount + 1
Erase csvCells
Wend
Close #1
'Hochkomma entfernen
Cells.Find(What:="""", After:=ActiveCell, LookIn:=xlFormulas, lookat:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Cells.Replace What:="""", Replacement:="", lookat:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Application.ScreenUpdating = True
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige