2.3k Aufrufe
Gefragt in Tabellenkalkulation von zuppel Mitglied (117 Punkte)
Hallo,

ich brauch Eure Hilfe.

Ich habe eine Tabelle erstellt wo die Urlaubs-, Fehltage usw der Mitarbeiter geführt werden. Für Jeden Mitarbeiter gibt es ein eigenes Tabellenblatt. Der Name des Tabellenblattes ist der Name des Mitarbeiters. Im ersten Tabellenblatt, eine Gesamtübersicht, sind alle Daten der Mitarbeiter eingegeben wie Personalnummer Jahresurlaub usw.. In Spalte C ist der Name des Mitarbeiters eingetragen. Da ich jetzt so viele Tabellenblätter habe, möchte ich gerne aus dem ersten Tabellenblatt, Gesamtübersicht, wenn ich in der Zelle mit dem Namen des Mitarbeiters stehe, in das jeweilige Tabellenblatt des Mitarbeiters wechseln können. Ich hab das schon mit einem Link versucht, aber sobald was sortiert wird ist, stimmen die Bezüge nicht. Habt Ihr eine Idee??

Vielen Dank.

Gruß

Zuppel

9 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Zuppel,

füge folgenden Code in den Codebereich des Arbeitsblattes "Gesamtübersicht" ein.

[code]Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
Worksheets(Target.Value).Select
End Sub

Vorraussetzung:
Schreibweise von Arbeitsblattnamen und Mitarbeiternamen muss identisch sein!

Gruß
Rainer
0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo Zuppel,
was meinst du mit "einem Link versucht"?
Wenn du in den MA-Tabellen jeweils den relevanten Bereich benennst,
dann kannst du in der Übersicht Hyperlinks auf die darauf einfügen.
mfg
Wolfgang
0 Punkte
Beantwortet von zuppel Mitglied (117 Punkte)
Hallo,

@Rainer

Super das hat schon mal Funktioniert. Kann ich das auch als Makro hiterlegen? Ich bin in der Zelle mit dem Namen, starte das Makro und wechsle dann in das Tabellenblatt??

@Wolfgang

Ich hab einen Hyperlink in der Jweiligen Spalte hinterlegt um zum Arbeitsplatz des Mitarbeiters zu gelangen. Hab dann mal nach Namen Sortiert, dann passten aber nicht mehr die Hyperlinks.

Danke für Eure Hilfe.

Gruß

Zuppel
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Zuppel,

@Rainer

Super das hat schon mal Funktioniert. Kann ich das auch als Makro hiterlegen? Ich bin in der Zelle mit dem Namen, starte das Makro und wechsle dann in das Tabellenblatt??


diese Frage verstehe ich nicht.
Anscheinend hast Du nicht das gemacht, was ich Dir schrieb.

Anbei eine Beispielmappe mit meinem Makro zum Nachvollziehen.

Download

Gruß
Rainer
0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo Rainer,
ich habe noch ersetzt:
If Target.Column <> 3 Then Exit Sub
durch:
On Error Resume Next
dann ist das auch für mich ein super Code.
Habe den gerade in alle Tabellenblätter einer Datei eingefügt und springe damit nun blitzschnell zu den gerade benötigten Tabellen!
mfg
Wolfgang
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Wolfgang,

so ginge es auch

If Target.Column <> 3 Then Or Target.Count <>1 Exit Sub

Gruß
Rainer
0 Punkte
Beantwortet von zuppel Mitglied (117 Punkte)
Hallo,

nein, das hat alles super funktioniert. Sobald Du nur auf die Zelle mit dem Namen kommst, auch ohne Linksklick, springst Du sofort auf das Tabellenblatt. Ich dachte man könnte das über ein Makro verbunden mit einem Button machen. Zeile auswählen und dann auf den Button drücken. Ich hab das jetzt anders gelöst. Ich habe das mit Worksheet_BeforeDoubleClick gemacht. Die Funktion ist super, doppelklick und ich komme auf das Tabellenblatt. Das Funktioniert ganz gut.

Vielen Dank für die Mühe!!!!!!!!!!!!!
0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo Rainer,
ich will da gar nicht die Prüfung von Zeilen- oder Spalten-Nr.
So kann ich dieses Makro ohne Anpassungen in diversen Dateien verwenden, ohne Rücksicht darauf ob Monate nebeneinander, Namen untereinanderich oder ob Tab-blattnamen kreuz und quer irgendwo stehen.
mfg
Wolfgang
0 Punkte
Beantwortet von zuppel Mitglied (117 Punkte)
Hallo,

sorry das ich mich erst jetzt melde! Vielen Dank für die Tolle Hilfe hier!!!!

Gruß

Zuppel
...