Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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
csv Datei öffnen
15.01.2016 15:28:44
Erik
Hallo zusammen!
Habe durch die Forum Recherche folgendes Makro gefunden:
Sub Datei_Importieren()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
.InitialFileName = "C:\Users\Erik\Desktop\*.csv"  'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
If strFileName  "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 0 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, -1)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
End Sub

Diese funktioniert auch soweit allerdings habe ich 2 Probleme.
1. Bei mir sollten die csv Datei in Spalte D eingefügt werden und nicht in Spalte A.
2. Es sollte überprüft werden welche Zelle in Spalte D keinen Eintrag mehr hat und dann sollte die csv Datei dort angehängt werden.
Vielen Dank
und Gruß
Erik

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: csv Datei öffnen
15.01.2016 18:01:28
ChrisL
Hi Erik
.Cells(irgendwas, 1) ändern
.Cells(irgendwas, 4)
D = Spalte 4
zu Frage 2. Wenn ich den Code richtig lese.. ist schon so
cu
Chris

AW: csv Datei öffnen
15.01.2016 19:02:44
Werner
Hallo Erik,
Versuchs mal so:
With ActiveSheet
lngLast = .Cells(Rows.Count, 4).End(xlUp).Row + 1
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
Den Rest vom Code so lassen wie er ist.
Gruß Werner
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige