Hallo, in Spalte B sind verschiedene Aufgaben eingetragen, welche den Personen in Spalte A zugewiesen sind. In Spalte D sind oder sollen dann Buttons sein mit den Aufgaben. Bei Klick auf einen dieser Buttons bräuchte ich irgendwie ne Aufstellung, welcher Arbeiter diese Tätigkeit macht, z.B. auf einer eigenen Form oder so... Ich weiß, das ist evtl. besser ne Datenbanksache, aber die Datei hab über 100 Blätter mit jeder Menge an Daten... (Siehe Beispielscreenshot). Bin für jede Hilfe dankbar!!!
heißt das alle blätter haben diesen Aufbau?
willst du mit einem Knopfdruck alle Blätter durchsuchen?
Die verbundenen Zellen in Spalte A sind ein Problem. Damit geht die einfache Zuordnung Name Aufgabe flöten.
Wenn du die verbundenen Zellen auftrennst und pro Zeile den entsprechenden Namen einträgst. kannst du ganz leicht dein Blatt filtern.
Hallo
mein Rat ist eine Mini Beispieldatei hochladen, das Übersichtblatt wie im Bild und 1-2 Tabellen mit den Personendaten. Das können Fantasiedaten sein,, Hauptsache wir erknnen den Tabellenaufbau. Die Spalten sollten überall gleich sein, die Zeilen können variabel sein.
Sinnvoll ist den Cursor auf den Namen stellen und dann den Button auslösen. Dann kann man per Makro alle Daten holen.
Wo bitte soll den das Ergebnis hingeschrieben werden und wie sol es aussehenn?? Wir können es nicht in die Luft schreiben!
mfg Gast 123
Hallo,
hier in Ermangelung einer Beispieldatei ein möglicher Ansatz zum weiteren Ausbau...
Code:
Option Explicit
Option Compare Text
Sub Suchen(sSuch As String)
' Sucht die Namen zu einer Tätigkeit zusammen
' Jeder Name wid nur einmal aufgenommen
Dim WSh As Worksheet
Dim sArr() As String
Dim iZeile As Long, iOutZeile As Long
Dim sName As String, sSchondrin As String
If sSuch = "" Then Exit Sub
ReDim Preserve sArr(iOutZeile)
sArr(0) = sSuch
iOutZeile = 1
sSchondrin = ","
' Daten zusammensuchen
For Each WSh In ThisWorkbook.Worksheets
If WSh.Name Like "[TK]*" Then ' Ggf. Einschränkung der Blätter
For iZeile = 1 To WSh.Cells(WSh.Rows.Count, 2).End(xlUp).row
With WSh.Cells(iZeile, "A")
If .Value <> "" Then sName = .Value
If sName <> "" And .Offset(, 1).Value Like sSuch Then
If InStr(sSchondrin, "," & sName & ",") = 0 Then
ReDim Preserve sArr(iOutZeile)
sArr(iOutZeile) = sName
sSchondrin = sSchondrin & sName & ","
iOutZeile = iOutZeile + 1
End If
End If
End With
Next iZeile
End If
Next WSh
' Ergebnisse ausgeben (<<<anpassen>>>
ThisWorkbook.Sheets("Ergebnis").Range("B3").Resize(UBound(sArr) + 1, 1).Value _
= Application.Transpose(sArr)
End Sub
Sub Test()
Call Suchen("Putzen")
End Sub
_________
viele Grüße
Karl-Heinz
Hi,
vielen Dank für den Ansatz, konnte so mein Problem lösen
vielen Dank!
Gruß Wurstl