Hallo Namenloser,
nachfolgend mal ein Makro, dass Dir alle ASC-Dateien in einem vorgegebenen Verzeichnis in ein neu angelegtes Tabellenblatt einließt.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.
Option Explicit
Const intAnzahlAnfang As Integer = 8
Const intAnzahlEnde As Integer = 10
Const strPath As String = "H:\Müll\"
Sub Dateien_auslesen()
Dim strExportfile As String
Dim strWert() As String
Dim strZeile As String
Dim strText As String
Dim intDateinummer As Integer
Dim intWert As Integer
Dim lngFirstRow As Long
Dim Dateityp$
Dim wksAuslesung As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Sheets("Auslesung").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Set wksAuslesung = Sheets.Add
With wksAuslesung
.Name = "Auslesung"
Dateityp = Dir(strPath & "*.ASC")
Do While Dateityp <> ""
If Right(Dateityp, 3) = "ASC" Then
intWert = 0
strExportfile = strPath & Dateityp
intDateinummer = FreeFile
Open strExportfile For Input As #1
Do While Not EOF(1)
Line Input #intDateinummer, strZeile
strWert = Split(strZeile, vbTab)
intWert = intWert + 1
If intWert >= intAnzahlAnfang And intWert < intAnzahlEnde + intAnzahlAnfang Then
lngFirstRow = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
On Error Resume Next
.Cells(lngFirstRow, 1) = CDate(strWert(0))
.Cells(lngFirstRow, 2) = CDbl(strWert(1))
On Error GoTo 0
End If
Loop
Close #1
End If
Dateityp = Dir
Loop
End With
Set wksAuslesung = Nothing
End SubIn dem Makro musst Du in den 3 Zeilen
Const intAnzahlAnfang As Integer = 8
Const intAnzahlEnde As Integer = 10
Const strPath As String = "H:\Müll\"die erste einzufügende Zeile (im Beispielmakro die Zeile 8), wieviele Zeilen eingelesen werden sollen (im Beispielmakro 10 Zeilen) und den Pfad, in dem sich die ASC-Dateien befinden, anpassen.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf
meiner HP in der
Rubrik Anleitungen und dort dann in der
Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]