Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Öffnen CSV-Datei

Öffnen CSV-Datei
18.08.2008 13:55:00
Bernd
Hallo zusammen,
wenn ich über den Datei Öffnen Dialog eine CSV Datei öffne, stehen die durch Semikolon getrennten Daten inner halb einer Zeile jeweils in verschiedenen Spalten.
Lasse ich den aufgezeichneten Code laufen, wird die CSV-Datei zwar geöffnet, aber der kompeltte Datensatz steht mit den Semikolons inner einer Zelle.
Ich muß die Dateien im Hintergrund öffnen, da eine Arbeitsmappe über SVerweise aus der CSV-Datei Daten ziehen muß
Weiss jemand Rat?
Beste Grüße
Bernd

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen CSV-Datei
18.08.2008 14:14:39
Rudi
Hallo,
das klappt mit dem Assistenten via VBA nicht.

Sub tt()
ReadCSV "c:\test\test.csv"
End Sub



Sub ReadCSV(ByVal strDateiName As String)
Dim strTxt As String, myArr, lngL As Long, wks As Worksheet
lngL = 1
Open strDateiName For Input As #1
Set wks = Workbooks.Add(1).Sheets(1)
Do Until EOF(1)
Line Input #1, strTxt
myArr = Split(strTxt, ";")
With wks
.Range(.Cells(lngL, 1), .Cells(lngL, UBound(myArr) + 1)) = myArr
End With
lngL = lngL + 1
Loop
Close #1
End Sub


Gruß
Rudi

Anzeige
AW: Öffnen CSV-Datei
18.08.2008 16:34:00
Bernd
Hallo und vielen Dank,
leider löst dies nicht ganz mein Problem. Die SVerweise aktualisieren sich nur, wenn die externe Datenquelle geöffnet ist. Diese datenquelle hat einen bistimmten Namen, in diesem Fall kunden.csv. Daher muß die Datei auch unter diesem Namen geöffnet sein.
Ich möchte also eine semikolonseparierte CSV öffnen, so dass die Daten in einzelnen Spalten stehen und mit demn Semikolons hintereineinader in einer Spalte bzw. Zelle.
Beste Grüße
Bernd

AW: Öffnen CSV-Datei
18.08.2008 17:54:34
Jürgen
Hallo Bernd,
da Du die Daten aus der CSV-Datei ohnehin laden mußt: wäre es keine Alternative für Dich, die Daten über "Daten - Externe Daten importieren - Daten importieren" auf einem separaten Blatt in die Arbeitsmappe einzubinden und darauf die SVerweise zu setzen? Die Lösung läuft ohne VBA, auch die Datenaktualisierung ist ein Klacks (auf Wunsch beim Öffnen der Arbeitsmappe), für die importierten Daten steht sofort ein passender Bereichsname zur Verfügung usw.
Gruß, Jürgen

Anzeige
AW: Öffnen CSV-Datei
19.08.2008 08:10:00
firmus
Hallo Bernd,
ich sehe noch 2 Ansätze.
1) rename der Datei auf xxxx.TXT
2) TextToColumns
zu 1) Beim Öffnen einer CSV, die auf TXT renamed wurde sollten danach die Werte in einzelnen Spalten stehen. (bei mir klappt's).
zu 2) wenn die CSV geöffnet ist und die Daten je Zeile in Spalte A stehen so kann TexttoColum angewandt werden. Beim wird die Trennfunktion vom Import nachträglich möglich.
Aufrufbar zum Aufzeichnen: ==> Data ==> TexttoColumns ...... ~f~
Beispiel aus einem Macro:
~f~ If (ActiveSheet.UsedRange.Rows.Count > 1) Then GoTo bereitsSpalten
'
Range("A1").Select
' Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("a:a").Select
' On Error Resume Next
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 4), Array(18, 1)), _
TrailingMinusNumbers:=True
Cells.Select
Cells.EntireColumn.AutoFit
' On Error GoTo 0
bereitsSpalten:
Gruß
Firmus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige