|  
                                             Hallo nochmal 
  
Wenn die Balttnamen immer den Unterstrich haben, dann ist das kein Problem. Das Leerzeichen ersetzen geht so... 
  
        For i = Z1 To LR
            strSuchwort = Replace(.Cells(i, SP), " ", "_") 'Leerzeichen durch _ ersetzen
 ...
  
"Des weiteren wird nur eine Zeile aus der Importliste in das Tabellenblatt mit dem Namen übernommen, " 
Ich vermute, dass dann die Spalte A keine Daten hat. Diese Spalte wurde nämlich jedesmal geprüft. 
Es wurde immer wieder die gleiche Zeile überschrieben wird 
  
Ich habe die Ermitlung der ersten freien Zeile umgestellt. Wird nun unabhängig von der Spalte ermittelt.  
  
Hier nochmal der gesamte Code 
  
Option Explicit
 
Sub suchen_kopieren_einfügen()
    Dim strSuchwort As String
    Dim wks1 As Worksheet
    Dim wks2 As Worksheet
    Dim i As Integer, Z1 As Integer, LR As Integer
    Dim NZ As Integer, SP As Integer
    
     
    Set wks1 = Worksheets("Importliste")
    Z1 = 2 'ab zeile 2
    SP = 5 'Daten in Spalte E
     
    With wks1
        LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
         
        For i = Z1 To LR
            strSuchwort = Replace(.Cells(i, SP), " ", "_") 'Leerzeichen durch _ ersetzen
                    
            'Blatt vorhanden?
            If IsError(Evaluate(strSuchwort & "!A1")) Then
                MsgBox "Blatt: '" & strSuchwort & "' existiert nicht"
                Exit For
            Else
                Set wks2 = Sheets(strSuchwort)
                
                NZ = wks2.Cells.SpecialCells(xlCellTypeLastCell).Row + 1 'erste freie Zeile des gesamten Blattes
                
                .Rows(i).Copy wks2.Rows(NZ)
            End If
        Next
    End With
End Sub
LG UweD 
  
  
     |