|  
                                             
	Hallo Senco 
	mein Problem ist das ich nicjht weiss wie man hier Beispielmappen reinstellt.  Wie hast du das mit dem Link gemacht? 
	Ich sende dir deshalb mal den Makro Code für den du ein Modulblatt Modul1 +2 anlegen musst.  Modul 2 enthaelt nur Öffentliche Variable / Namen. Diese Namen musst du auf deine Original Datei Namen und Tabellen Namen abaendern. z.B. aktivierst du in deinem Makro in Export  "sheet1" Der Code ist getestet und laeuft mit der Beispieldatei einwandfrei, sofern ich alles nrichtig verstanden haben. Er ist kommentiert, du kannst ihn ggf. selbst korrigieren. 
	mfg  Nobody 
'Modul_Public:
'Öffentliche Namen für alle Module
'**  hier die Original Datei Namen einsezten
Public Const Mappe1 = "EILER VBA.xlsm"
Public Const Mappe2 = "Kennz_K_20160930_F.csv"
'**  hier die Original Tabellen Namen einsezten
Public Const CsvSht = "Kennz_K_20160930_F"          'in "sheets1" umbenennen ???
Public Const EilSht = "Tabelle1"  '"sheet 1" ??
'**  Anfang Adresse Spalte N in csv Mappe
Public Const NAnf = "N12"   '1. Zeile in Spalte N
'Ich gehe davon aus das die 1. Zeile immer N12 ist!
'###  im Makro für Tabelle1 steht diese Anweisung:
'ActiveWorkbook.Sheets("sheet1").Activate
'dort wird "sheets1" activiert !!
'wenn mein Makro nicht klappt evtl. das CsvSht in
'"sheet1" umbenennen
'Modul1:
Option Explicit      '6.10.2016   Nobody   vba Forum
Dim cSuBer As String, clz As Long
Dim rFind As Object, SuNa As String
Dim MP1 As Workbook, MP2 As Workbook
Dim CSht As Worksheet, Sp As Integer
Sub Mappe1_aktualisieren()
Dim dlz As Long, glz As Long
Dim Adr1 As String, r As Long
Dim nAdr As String, z As Long
Set MP1 = Workbooks(Mappe1)
Set MP2 = Workbooks(Mappe2)
Set CSht = MP2.Worksheets(CsvSht)
    'LasdZell in csv Spalte N und Such-Bereich
    clz = CSht.Range(NAnf).End(xlDown).Row
    cSuBer = CSht.Range(NAnf, "N" & clz).Address
With MP1.Worksheets(EilSht)
   'LatZell in Mappe1 Spalte D + G
    dlz = .Range("D1").End(xlDown).Row
    glz = .Range("G1").End(xlDown).Row
   
   'alte Listen in Spalte D+G Löschen
   .Range("C2:E" & clz).ClearContents    '"D1:E"
   .Range("F2:H" & glz).ClearContents    '"G1:H"
    'Suchname + Ziel Spalte laden  (3LFDE)
    SuNa = .Range("D1").Value
    z = 2    '1. Zeile in D
    Sp = 4   '4= Spalte "D"
    GoSub such   'Such Programm
    
    'Suchname + Ziel Spalte laden   (3L6SW)
    SuNa = .Range("G1").Value
    z = 2    '1. Zeile in G
    Sp = 7   '7= Spalte "G"
    GoSub such   'Such Programm
Exit Sub
    
'  ***************************************************
such:  'Such Unterprogramm in Mappe2 csv  (GoSub)
    Set rFind = CSht.Range(cSuBer).Find(What:=SuNa, LookIn:=xlValues, _
        After:=Range(NAnf), LookAt:=xlWhole, MatchCase:=True)
    
    If rFind Is Nothing Then MsgBox SuNa & "  Such-Text nicht gefunden"
    
    If Not rFind Is Nothing Then
      '1. Such Adresse zum Aussprung notieren
       Adr1 = rFind.Address:  nAdr = Adr1
      '2. Suchlauf nach weiteren Werten   (Do Loop)
      Do  'Aussprung wenn kein Wert mehr vorhanden
         r = rFind.Row  'gefundene Zeile in Spalte N merken
         Cells(z, Sp - 1) = r 'gefundene Zeile zur Kontrolle
         Cells(z, Sp + 0) = CSht.Cells(r, "D") 'Lieferung aus Spalte D
         Cells(z, Sp + 1) = CSht.Cells(r, "K") 'F-Wert aus Spalte K
         
         Set rFind = CSht.Range(cSuBer).FindNext(After:=Range(nAdr))
         If rFind Is Nothing Then Exit Do
         nAdr = rFind.Address:  z = z + 1
      Loop While Adr1 <> nAdr
      End If
      Return
End With
End Sub
	. 
	  
     |