Clever-Excel-Forum

Normale Version: Tabelle automatisch Filtern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

spätestens jetzt wäre es mal an der Zeit, dass du hier erklärst, was du eigentlich genau vor hast denn nur um das Filtern der Tabelle scheint es mir hier ja wohl nicht zu gehen.

Gruß Werner
(30.10.2018, 14:24)elamigo schrieb: [ -> ]Ich bräuchte daher ein Makro wo ich relativ einfach Namen des Vorgesetzten und die dazugehörige Abteilung eintragen kann. 

Hallo,

erstelle dafür eine zusätzliche Tabelle:

Tabelle2

AB
1NameAbteilung
2PeterAAA
3FranzHHH

Das Changeereignis in Tabelle1 sieht dann so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varName As Variant
'Abteilung per SVERWEIS aus Tabelle2 holen
varName = Application.VLookup(Range("A1").Value, Worksheets("Tabelle2").Range("A1").CurrentRegion, 2, 0)
If Not IsError(varName) Then
Me.Range("A7").AutoFilter field:=2, Criteria1:=varName
Else
On Error Resume Next
Application.EnableEvents = False
Range("A1") = ""
Me.Range("A7").AutoFilter field:=2
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
Gruß Uwe
Hallo Werner Hallo Uwe,

Danke schon mal für eure Mühe, ich weiss das sehr zu schätzen.

Also um es, so genau es geht, auszuführen. Versuchen wir es ein wenig anders. Es gibt eine Datentabelle mit tausenden Datensätzen.


Wenn die Tabelle geöffnet wird, wird der Name abgefragt und in A1 eingetragen, in Zuge dessen sollte sich die Tabelle automatisch Filtern (nur eine bestimmte Abteilung ist dann relevant und zwar die des Vorgesetzten, dessen Name in A1 steht), (die gefilterte Tabelle sollte nach Möglichkeit auch direkt auf ein anderen Tabellenblatt kommen), die gefilterte Tabelle wird dann per Mail an den Vorgesetzten gesendet der trägt die Skills ein, schickt die Tabelle zurück und es wird in die große ganze eingepflegt. 
Ich hoffe es ist alles verständlich.

EDIT: Also falls ihr n Makro hin bekommt was folgendes tut wäre mir auch schon sehr geholfen. Wenn ich die Urtabelle über die normale Filter Funktion filtere, dann auf ein Makro klicke und diese gefilterte Tabelle nochmals gesondert auf das nächste Tabellenblatt kopiert wird. Das wäre schon der hammer.

@Uwe, ich hab dein Makro kopiert, aber da ich erst mit VBA begonnen habe, ist es mir leider nicht ganz ersichtlich :( tut mir leid. Ich brauch wohl noch etwas Erklärung.
Hallo,

das Makro fragt wie bisher auch beim Start der Datei über eine Inputbox den Namen ab, filtert die Tabelle entsprechend und kopiert das Filterergebnis, ohne die Überschriftenzeile, in die Tabelle 2 nach A1. Tabelle 2 muss natürlich schon vorhanden sein.


Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim raSuche As Range, strSuchbegriff As String

If Target.Address(0, 0) = "A1" Then
  If Target <> "" Then
      If WorksheetFunction.CountIf(Columns(4), Range("A1").Value) = 0 Then
          MsgBox "Suchbegriff " & Range("A1") & " ist nicht vorhanden."
      Else
          Set raSuche = Columns(4).Find(what:=Range("A1"), LookIn:=xlValues, LookAt:=xlWhole)
          Range("A7:E" & Cells(Rows.Count, 4).End(xlUp).Row).AutoFilter Field:=2, Criteria1:=raSuche.Offset(, -2)
          Worksheets("Tabelle2").Cells.ClearContents
          AutoFilter.Range.Offset(1).Resize(AutoFilter.Range.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy _
          Worksheets("Tabelle2").Range("A1")
          If AutoFilterMode Then ShowAllData
      End If
  End If
End If
Set raSuche = Nothing
End Sub


Gruß Werner
Hey Danke für deine Mühe,

ich habe das Makro in die Arbeitsmappe eingefügt, filtere aber nichts passiert, ebenfalls nichts, wenn ich das Makro an eine Schaltfläche binde. Entschuldige mein Unwissen, steige gerade bei VBA ein.
P.S.: Die Überschriften können gerne mit.
Hallo,

Zitat:... ich habe das Makro in die Arbeitsmappe eingefügt

ist mir zu schwammig.
Beschreibe mal Schritt für Schritt, was Du gemacht hast.
Besonders interessant ist, wo das Makro gelandet ist.
Seiten: 1 2