|  
                                             
	Also guten Morgen! Kam noch nicht dazu mir die Bilder / Dateien anzuschauen. Habe aber mal noch ne andere Möglichkeit gebastelt :-) - bei der man wieder einstellen kann, was die Quelle für ein Format hat - geht evtl. ein wenig langsamer. Hab aber noch nicht das passende Format  für alles gefunden. Deshalb läuft unten wieder der Tausch. Und was ober peinlich ist. Tausche mal bitte im letzten Code, wo bis zu 99 % alles lief  :-), in der letzten Zeile der Function tausch am Ende das ü in ein ß (also wo die Werte 195 / 159 stehen). Mano. Hatte mich da veschrieben. Und wenn es nur noch das ß war, sollte es dann auch klappen. In der  Version unten ist das schon behoben. Werde mir dann erstmal die Dateien nicht anschauen. :-) Und keine Angst, das Problem hat meinen Ehrgeiz geweckt. Das geht also schon in Ordnung. Schon mal guten Rutsch und hoffentlich passt es nun. Gruß 
	  
Dim dateien()
Option Explicit
  
Sub DateienLesen()
    Call EventsOff
    Dim DateiName As String
    Dim quelle As String
    Dim i As Long
    Dim j As Long
    Dim zeile As String
    Dim inhalt
    Dim ende
    Dim ende2
    Dim name As String
    Dim ausgang As String
    
    On Error Resume Next
    
    ReDim dateien(0)
    dateien(0) = 0
    ausgang = ThisWorkbook.name
    
    quelle = "C:\Users\ich\Desktop\Programmieung\hallo\Neuer Ordner\neu" 'Pfad eintragen
    Call txtsuchen(quelle)
 
    If dateien(0) = 0 Then
    MsgBox "Keine .txt Dateien gefunden!"
    Else
    'Daten auslesen
         
        For i = 1 To dateien(0)
        DateiName = dateien(i)
        ende = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
        ende = ende + 2
                
        Workbooks.OpenText Filename:=DateiName, Origin:=1252
        
        name = ActiveWorkbook.name
        
        ende2 = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
        
        ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(ende2, 3)).Copy Destination:=Workbooks(ausgang).Worksheets(1).Range(Workbooks(ausgang).Worksheets(1).Cells(ende, 3), Workbooks(ausgang).Worksheets(1).Cells(ende + ende2, 5))
                
        Workbooks(ausgang).Activate
        
        Workbooks(name).Close SaveChanges:=False
                
        Next i
        
    End If
    Call tausch
    
    ActiveSheet.Range("C:D").Columns.AutoFit
    ActiveSheet.Range("C:D").NumberFormat = "0.000000"
    Call EventsOn
End Sub
   
Public Sub EventsOff()
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
End Sub
   
Public Sub EventsOn()
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub
 
Function txtsuchen(quelle As String)
Dim suche
Dim ordner()
Dim i As Long
  
ReDim ordner(0)
ordner(0) = 0
ChDrive (Left(quelle, 3))
ChDir (quelle)
 
'Ordner durchschauen
suche = Dir(quelle & "\*.*", vbDirectory)
  
Do Until suche = ""
    'Normale Dateien rausfiltern
    If (GetAttr(quelle & "\" & suche) = 16) Then
        'die hier ankommen, sind Ordner, extra speichern
        ordner(0) = ordner(0) + 1
        ReDim Preserve ordner(ordner(0))
        ordner(ordner(0)) = suche
    Else
        If Right(suche, 4) = ".txt" Then
            dateien(0) = dateien(0) + 1
            ReDim Preserve dateien(dateien(0))
            dateien(dateien(0)) = quelle & "\" & suche
        End If
    End If
          
    suche = Dir()
Loop
'jetzt durch die Ordner gehen
For i = 1 To UBound(ordner)
    If Dir(ordner(i), vbNormal) = "" And Left(ordner(i), 1) <> "." Then
        Call txtsuchen(quelle & "\" & ordner(i))
        ChDir (quelle)
    End If
Next
End Function
Function tausch()
Dim i As Long
For i = 1 To ActiveSheet.Cells(Rows.Count, 5).End(xlUp).Row
 
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(132), "Ä")
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(164), "ä")
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(150), "Ö")
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(182), "ö")
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(156), "Ü")
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(188), "ü")
ActiveSheet.Cells(i, 5) = Replace(ActiveSheet.Cells(i, 5), Chr(195) & Chr(159), "ß")
Next i
 
End Function
	  
     |