Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV-Dateien-Import in erste Spalte Dateiname

CSV-Dateien-Import in erste Spalte Dateiname
27.03.2015 16:07:30
Stef@n
Hallo Excel-Freunde
mit folgendem Makro lese ich die Inhalte aller CSV-Dateien
eines "auszuwählenden" Verzeichnisses ein.
Dabei werden die Inhalte ab Zelle B1 ... eingetragen
Jetzt möchte ich gerne, dass in der Spalte A
bei JEDEM Datensatz (Zeile) einer Datei der
jeweilige Dateiname eingetragen wird.
Gibt es eine Möglichkeit den Code entsprechend zu erweitern ?
Freu mich auf einen Tipp
Besten Gruss
Stef@n
hier der bestehende Code
Option Explicit
Sub IMPORTCSV()
Dim fd As FileDialog
Dim strFolder As String
Dim strName As String
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show  -1 Then Exit Sub
strFolder = fd.SelectedItems(1) & "\"
strName = Dir(strFolder & "*.csv")
While Len(strName) > 0
Workbooks.OpenText Filename:=strFolder & strName, Local:=True
Rows(1).Delete
ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets(1).Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
strName = Dir
Wend
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV-Dateien-Import in erste Spalte Dateiname
27.03.2015 18:51:23
Nepumuk
Hallo,
teste al:
Option Explicit

Public Sub IMPORTCSV()
    
    Dim strFolder As String, strName As String
    Dim lngRow As Long
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        
        If .Show Then
            
            strFolder = .SelectedItems(1) & "\"
            
            strName = Dir$(strFolder & "*.csv")
            
            Do Until strName = vbNullString
                
                Call Workbooks.OpenText(Filename:=strFolder & strName, Local:=True)
                
                Rows(1).Delete
                
                With ThisWorkbook.Worksheets(1)
                    
                    lngRow = .Cells(Rows.Count, 2).End(xlUp).Row + 1
                    
                    Call ActiveSheet.UsedRange.Copy(Destination:=.Cells(lngRow, 2))
                    .Cells(lngRow, 1).Value = strName
                    
                End With
                
                Call ActiveWorkbook.Close(SaveChanges:=False)
                
                strName = Dir$
                
            Loop
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige