selbstdefinierte Funktion (Verweis über mehrere Tabellenblätter)

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Agent.

    selbstdefinierte Funktion (Verweis über mehrere Tabellenblätter)

    Hallo alle,

    brauche wieder mal euren Rat.

    In einer Exceldatei befinden sich 3 Kategorien von Tabellenblättern:

    - 2 Übersichtsblätter zu Beginn
    - Tabellenblätter mit Mitarbeiterdaten (Anzahl kann sich ändern)
    - Tabellenblätter mit Projektdaten (Anzahl kann sich ändern)

    Fixe Tabellenblätter sind die beiden Übersichtsblätter am Anfang sowie zwei Musterblätter für Mitarbeiter und Projekte (die stehen jeweils an letzter Position der Tabellenblattkategorie).

    In den Projektblättern möchte ich jetzt per Verweisfunktion die Daten aus den Mitarbeiterblättern anziehen. Sverweis über mehrere Tabellen scheint nicht möglich zu sein, deshalb hab ichs mit einer eigenen Funktion versucht.

    Nur leider funktioniert sie nur unvollständig, denn wenn mehrere "Treffer" in den Mitarbeiterblättern vorkommen, krieg ich als Ergebnis nur den ersten Treffer.

    Quellcode

    1. Public Function tabellenverweis(suchkriterium As String)
    2. Dim zelle As String
    3. Dim zeile As Integer
    4. Dim blatt As Integer
    5. Dim start As Integer
    6. Dim ende As Integer
    7. start = Sheets("Projekte").Index + 1
    8. ende = Sheets("Muster_M").Index - 1
    9. For zeile = 6 To 18
    10. For blatt = start To ende
    11. zelle = CStr(Sheets(blatt).Cells(zeile, 2).Value)
    12. If zelle = suchkriterium Then
    13. tabellenverweis = Sheets(blatt).Name
    14. End If
    15. Next blatt
    16. Next zeile
    17. End Function



    Kann mir jemand sagen, was ich korrigieren muss?

    Vielen Dank
    tabellenverweis = Sheets(blatt).Name

    Hier überschreibst du ja auch die vorherigen Einträge. Entweder musst du hier aneinander ketten oder dir ein Array bauen...
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau