Registriert seit: 05.09.2017
Version(en): 2013
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
(30.10.2018, 15: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 | A | B |
1 | Name | Abteilung |
2 | Peter | AAA |
3 | Franz | HHH |
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
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• elamigo
Registriert seit: 25.01.2018
Version(en): 2013
31.10.2018, 09:03
(Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2018, 09:03 von elamigo.)
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.
Registriert seit: 05.09.2017
Version(en): 2013
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
Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:1 Nutzer sagt Danke an Werner.M für diesen Beitrag 28
• elamigo
Registriert seit: 25.01.2018
Version(en): 2013
31.10.2018, 11:03
(Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2018, 11:04 von elamigo.)
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.
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
31.10.2018, 12:13
(Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2018, 12:13 von Käpt'n Blaubär.)
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.