Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.06.2025 06:38:35
24.06.2025 22:11:12
24.06.2025 21:29:43
24.06.2025 19:48:50
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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