|  
                                             Option Explicit 
Private Const sZIELARBEITSBLATTNAME As String = "Ziel" '**** hier kommt der Zielarbeitsblattname hin 
  
Sub main() 
  
    Dim wks             As Excel.Worksheet 
    Dim sSuchbegriff    As String 
  
    On Error GoTo FinishErr 
  
    sSuchbegriff = "Bauer" '*** hier Deine Inputbox 
  
  
    '*** Übersichtsblatt zurücksetzen 
    Worksheets(sZIELARBEITSBLATTNAME).Cells.ClearContents 
    Worksheets(sZIELARBEITSBLATTNAME).Cells.ClearFormats 
  
    Application.ScreenUpdating = False 
    '*** durchlaufe jedes Arbeitsblatt; ausser Zielarbeitsblatt 
    For Each wks In ThisWorkbook.Worksheets 
        If Not wks.Name = Worksheets(sZIELARBEITSBLATTNAME).Name Then 
            Call FrageArbeitsblatt(wks.Name, sSuchbegriff) 
        End If 
    Next wks 
FinishErr: 
Application.ScreenUpdating = True 
  
  
End Sub 
--------------------------------------------------------------------------------- 
Sub FrageArbeitsblatt(ByVal sName As String, ByVal sSuchWert As String) 
  
    Dim rngFilterBereich            As Excel.Range 
    Dim rngIntersect                As Excel.Range 
  
    With Worksheets(sName) 
        '*** Möglichen Filter entfernen 
        If .AutoFilterMode = True Then .AutoFilterMode = False 
        '*** Autofilter anwenden und Filter setzen 
        Set rngFilterBereich = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Cells(1, .Columns.Count).End(xlToLeft).Column)) 
        rngFilterBereich.AutoFilter Field:=2, Criteria1:=sSuchWert 
        '*** Bereich zum kopieren definieren 
        Set rngIntersect = Application.Intersect 
(rngFilterBereich, rngFilterBereich.Offset(1, 0), rngFilterBereich.SpecialCells(xlCellTypeVisible)) 
        '*** Falls was vorhanden, in Überischtsblatt übertragen 
        If Not rngIntersect Is Nothing Then 
            Call rngIntersect.Copy 
            Call Worksheets(sZIELARBEITSBLATTNAME).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial(xlPasteValuesAndNumberFormats) 
            Application.CutCopyMode = False 
            .UsedRange.EntireColumn.AutoFit 
            Application.Goto Reference:=Worksheets(sZIELARBEITSBLATTNAME).Range("A1") 
        End If 
        '*** Filter lösen 
        rngFilterBereich.AutoFilter 
        .AutoFilterMode = False 
    End With 
  
End Sub 
  
Danke zunächst für die schnelle Zusendung des Codes. Leider funktioniert dies nicht. Als erstes wird Sub main() als Fehler ausgewiesen, dann wird wieder nach Object gesucht. Eine ähnliche Variante hatte ich auch schon ausprobiert. Es will einfach nicht funktionieren. 
Private Sub CommandButton4_Click() 
 
'Button Anzahl Todesfälle / Jahr 
Dim suche As String 
Dim z As Integer 
Dim x As Object 
Dim Blatt As Object 
Dim Worksheet As Object 
Dim rngBereich As Range 
   suche = InputBox("Geben Sie bitte das Jahr ein!", , "2014") 
    
   z = 0 
   If suche = "" Then Exit Sub 
    
   For Each Blatt In ActiveWorkbook.Worksheets 
       For Each x In Blatt.UsedRange 
          If x = suche Then 
            z = z + 1 
          End If 
         
           
    Next x 
  Next Blatt 
                 
             MsgBox suche & " wurde " & z & "  mal gefunden." 
              
  
  End Sub 
 
  
Ich habe eine Code geschrieben, da wird jedes Suchwort in jeder Tabelle farblich gekennzeichnet.  Gefunden wird dies schon, aber es ist umständlich und aufwendig.Aber trotzdem noch einmal vielen Dank.  
  
P.S. was bin ich Ihnen schuldig?  
  
  
  
  
     |