Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

CSV import

CSV import
22.02.2015 20:15:56
Tobias
Guten Abend,
ich exportiere per Makro bestimmte Dateien einer Rechnung in eine CSV-Datei.
Nun möchte ich diese wieder importieren und nutze dazu folgendes Makro:
Sub ImportCSV()
Dim V As String
With Application.FileDialog(msoFileDialogFilePicker)
.Show
V = .SelectedItems(1)
End With
Application.Workbooks.OpenText Filename:=V, DataType:=xlDelimited, _
Semicolon:=True, Local:=True
End Sub
Hier öffnet das Makro allerdings immer eine neue Tabelle.
Wie muss ich das anpassen, damit Excel das in einem bestimmten Tabellenblatt ("Rechnung") importiert und dort in einem bestimmten Zellbereich!
Viele Grüße
Tobias

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV import
22.02.2015 20:38:30
Oberschlumpf
Hi Tobias
ohne deine Datei zu kennen, würd ich sagen, versuch es so (ungetestet, weil, wie gesagt, ich kenn deine Datei nicht)
Sub sbImport()
Dim lstrRow As String, larData As Variant, lloStartRow As Long, lloCol As long, liIdx As  _
Integer
lloStartRow = 2 'wenn deine Startzeile nicht 2, dann anpassen
Open "DeinPfad\DeineDatei.csv" For Input As #1
Do While Not Eof(1)
Line Input #1, lstrRow
larData = Split(lstrRow, ";")
For liIdx = 0 To Ubound(larData)
Cells(lloStartRow, liIdx + 1).Value = larData(liIdx)
lloStartRow = lloStartRow + 1
Next
Loop
Close
End Sub

Hilfts?
Wenn nicht, zeig bitte per Upload eine Bsp-Datei mit Bsp-Daten, und verrate, wo genau die Daten hin sollen...in welche Zeilen/Spalten.
Ciao
Thorsten

Anzeige
AW: CSV import
24.02.2015 12:50:19
Tobias
Hallo Thorsten,
vielen Dank für deine Antwort.
Anbei mal das Dokument.
Unter dem Tabellenblatt Rechnung habe ich die Zellen A28:B32 die als CSV exportiert und dann als CSV wieder importiert werden sollen und dann wieder an der Stelle erscheinen sollen.
https://www.herber.de/bbs/user/95959.xlsm
Mit dem was du bisher geschrieben hast wird leider auch ein neues Excel Dokument geöffnet. Die Dateien würde ich aber gerne im selben Tabellenblatt bzw. in dem Tabellenblatt "Rechnung" importieren wollen.
Ich hoffe ich konnte mich verständlich ausdrücken.
Grüße
Tobias

Anzeige
AW: CSV import
24.02.2015 13:09:52
Oberschlumpf
Hi Tobias
Ok, die Excel-Datei kennen wir nun.
Schön wäre es, wenn du uns...
...deinen csv-Export-VBA-Code zeigst (ist in der Excel-Datei nicht enthalten)
...deine csv-Datei per Upload zeigst
Es wäre schon gut, wenn wir wissen, wie deine csv-Datei aussieht.
Ciao
Thorsten

AW: CSV import
25.02.2015 06:46:37
Tobias
Hallo Thorsten,
ich hab das CSV Script in einem extra Dokument um das erstmal zu testen.
Anbei das Excel Dokument mit dem Script:
https://www.herber.de/bbs/user/95975.xlsm
Viele Grüße

AW: CSV import
25.02.2015 19:41:41
Oberschlumpf
Hi Tobias
und wo ist deine csv-Datei?
Wenn erforderlich, kannst du den Inhalt der csv-Datei natürlich gegen Bsp-Daten austauschen.
Wichtig aber ist, dass die Struktur der csv-Datei, die Art der Daten in der Datei nicht verändert werden darf.
Das heißt, wenn in der csv-Datei z Bsp Zahlen stehen, darfst du anstelle dessen als Bsp-Daten keine Texte hinschreiben.
Ciao
Thorsten
...dass es nur langsam vorwärts geht, liegt noch an dir ;-)

Anzeige
AW: CSV import
26.02.2015 07:06:25
Tobias
Hallo Thorsten,
ich weiß und ich danke dir für deine Geduld und deine Mühe.
Anbei eine aus dem Excel-Dokument heraus erstellte CSV-Datei (als txt)
https://www.herber.de/bbs/user/96008.txt
Viele Grüße
Tobias

AW: CSV import
22.02.2015 21:05:42
Daniel
Hi
importiere die CSV-Datei über die Funktion:
DATEN - EXTERNE DATEN ABRUFEN - AUS TEXT
wenn der Import einmal eingerichtet ist, braucht man, um die Daten erneut einzulesen, nur im Kontextmenü "Aktualiseren" zu klicken.
Vielleicht erübrigt sich dann das Makro.
Falls nicht, lass den Recorder beim Einrichten mitlaufen, dann siehst du wie der Code dazu aussieht.
Du kannst aber auch einfach dein Bestehendes Makro um eine Programmzeile ergänzen, welches die Daten aus der neu geöffneten Datei dort hin kopiert wo du sie haben willst.
Sub ImportCSV()
Dim V As String
With Application.FileDialog(msoFileDialogFilePicker)
.Show
V = .SelectedItems(1)
End With
Application.Workbooks.OpenText Filename:=V, DataType:=xlDelimited, _
Semicolon:=True, Local:=True
ActiveSheet.Usedrange.Copy Destination:=ThisWorkbook.Sheets("Rechnung").Cells(1, 1)
ActiveWorkbook.Close
End Sub
Gruß Daniel

Anzeige
AW: CSV import
26.02.2015 14:57:12
Oberschlumpf
Hi Tobias
Lösch deinen Import-Code + tausch ihn gegen diesen aus:

Sub ImportCSV()
Dim lstrFile As String, lstrRow As String, lloRow As Long
lstrFile = Application.GetOpenFilename("CSV Dateien (*.csv), *.csv")
If lstrFile = "Falsch" Then Exit Sub
lloRow = 1
Sheets("Rechnung").Cells.Clear
Open lstrFile For Input As #1
Do While Not EOF(1)
Line Input #1, lstrRow
Sheets("Rechnung").Range("A" & lloRow).Value = Replace(lstrRow, Chr(34), "")
lloRow = lloRow + 1
Loop
Close
End Sub

Mit meinem Code wirst du aufgefordert, eine CSV-Datei auszuwählen - und es werden auch nur CSV-Dateien zur Auswahl angezeigt.
Wenn CSV-Datei ausgewählt, wird zuerst der Inhalt in "Rechnung" vollständig gelöscht, danach wird die CSV-Datei zeilenweise in die Tabelle "Rechnung" übertragen.
Hilft das?
Mich hat irritiert, dass im Export-Code nach einem Seperator-Zeichen verlangt wird.
Wenn ich mir aber die von dir gelieferte CSV-Datei ansehe, enthält diese Datei gar kein Trennzeichen.
Ciao
Thorsten

Anzeige
CSV import
27.02.2015 09:52:00
Tobias
Hallo Thorsten,
das funktioniert wunderbar.
Vielen Dank und ein schönes Wochenende.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige