|  
                                             Hallo Zusammen, 
Ich zermatere mir jetzt schon seit ein paar Tagen das Hirn über folgendes Problem: 
Ich habe für die Arbeit ein Makro erstellt, welches eine Tabelle mit +150 Einträgen nach einem bestimmten Kürzel durchsuchen soll, welches variabel in einer festgelegten Zelle eingetragen werden kann. Wird das Kürzel in einer Zeile gefunden, kopiert es drei Einträge aus der Zeile in ein Array und überträgt diese dann in Zeilen auf einem zweiten Arbeitsblatt, druckt dieses aus und macht mit der nächsten Zeile weiter. 
Das funktioniert soweit auch ganz gut. Mein Problem ist, dass das Makro nicht nur explizit nach dem gesuchten Kürzel sucht, sondern nach jeder Zeile, in der das eingetragene Kürzel vorkommt. Sprich ich suche nach dem Kürzel W1, es spuckt mir W1 und VW1 aus. 
Ich hab ehrlich gesagt genau 0 Ahnung vom Programmieren und habe mir das Makro in stundenlanger recherchearbeit so zusammengesetzt. Meine Vermutung war, dass irgendwo ein Matchwholeword = true reingehört, bekomme es aber beim besten Willen nicht funktionsfähig nur durch try and error heraus wo. Vielleicht hat von euch ja wer eine Idee. Danke dafür schonmal im Voraus! :) 
  
 
Sub SuchenUndFinden() 
'Variablen 
Dim finden As Range             'durchsucht Spalten nach Suchbegriffen 
Dim treffer As String               'Wo wurde der Begriff gefunden? Angabe der Zelle 
Dim Tour()                               'Array: Speichert die gewünschten Einträge 
Dim size As Integer                 'passt die Größe des Arrays an 
'Programm 
Set finden = Columns(1).Find(what:=Range("B23"))      'Hier liegt das Problem, es soll nach genau dem Kürzel in B23 gesucht werden 
    If Not finden Is Nothing Then 
    treffer = finden.Address        'Speichert die erste Adresse 
    MsgBox treffer 
      Do 
      ReDim Preserve Tour(2, size) 
     
           If finden.Value = "" Then 
         
               Else 
                Tour(0, size) = finden.Offset(0, 2).Value 'Baustelle 
                Tour(1, size) = finden.Offset(0, 3).Value 'Startdatum 
                Tour(2, size) = finden.Offset(0, 7).Value 'Projektnummer 
             
                Worksheets("Blanko Wartungsprotokoll").Range("D3:L3") = Tour(0, 0) 
                Worksheets("Blanko Wartungsprotokoll").Range("D4:L4") = Tour(1, 0) 
                Worksheets("Blanko Wartungsprotokoll").Range("A2:C2") = Tour(2, 0) 
 
                    Sheets("Blanko Wartungsprotokoll").Select 
                    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ 
                    IgnorePrintAreas:=False 
                 
             
                Sheets("Übersicht Kontrolltouren").Select 
         
            Erase Tour 
         
           End If 
            
                
    Set finden = Columns(1).FindNext(finden) 
     
    Loop While Not finden Is Nothing And treffer <> finden.Address 
     
     
End If 
End Sub 
     |