26.11.2020, 11:45 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2020, 11:47 von Raptor91.)
Hello liebe Leut
Sitze zurzeit vor einer Urlaubskartei und verzweifle am letzten Problem. Ich habe in Tabelle 2 eine Tabelle erstellt mit Name Vorname usw und auf Tabelle 1 meine Ansicht die ich mir dann wenn ich über ein Dropdown einen Namen ausgewählt habe anzeigen lassen will. In Tabelle 1 steht dann wieviel Urlaub derjenige schon genommen hat und sein Resturlaub für dieses Jahr. Nun mein Problem ich wähle den Namen aus und die restlichen Daten von demjenigen kommen über den SVERWEIS das habe ich gelöst aber er macht nicht für jeden Nutzer eine extra kartei sondern nimmt die Urlaubstage von dem der eben davor ausgewählt war. Ich hätte das gerne so gelöst das ich einen Namen auswähle und jeder "seine eigene Kartei" hat geht das irgendwie. Bin da völlig ratlos. Datei ist angehängt.
Zitat:aber er macht nicht für jeden Nutzer eine extra kartei sondern nimmt die Urlaubstage von dem der eben davor ausgewählt war
auch nach mehrmaligem Lesen hab ich keine Ahnung was ER eigentlich machen soll. Welche Daten zu welcher Pers.Nummer gehören ist auch nicht ersichtlich da ja alle pers. Daten zum Glück vollkommen identisch sind.
26.11.2020, 11:57 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2020, 12:07 von Raptor91.)
ok ich versuche es anders wenn ich im Drowdown 1 auswähle soll er mir darunter anziegen wieviel Urlaubstage er noch hat. wenn ich dann im dorpdown auf 2 wechsel soll er die Daten von 1 speichern. Sodass wenn ich nummer 1 aufrufe wieder seine Daten da sind.
dazu brauchst du VBA Programmierung. Einfacher wäre es, die Urlaube aller Kameraden/Kameradinnen in einem Extra Blatt zu erfassen. Dann kann man das bequem per Formel lösen.
28.11.2020, 22:23 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2020, 22:23 von Raoul21.)
Hallo Raptor91
Folgender Code kann die in Tabelle1 eingetragenen Werte für jeden Namen wegspeichern (in Deine Datenbank in Tabelle2) und bei Namenswechel im Dropdown dessen gespeicherten Werte anzeigen.
Der Code gehört ins Modul Tabelle1 in Deiner Musterdatei.
Code:
Private Sub Worksheet_Change(ByVal Target As Range) Dim d As Range: Set d = Range("A5") With Worksheets("Tabelle2").Range("E5:E30") If Not Intersect(Target, d) Is Nothing Then Application.EnableEvents = False Range("B11").Value = .Find(d, LookIn:=xlValues, lookat:=xlWhole).Offset(, 1) Application.EnableEvents = True ElseIf Not Intersect(Target, Range("B11")) Is Nothing Then .Find(d, LookIn:=xlValues, lookat:=xlWhole).Offset(, 1) = Range("B11") End If End With End Sub
Allerdings geht das erstmal nur für Einträge in Zelle B11 (mal als Grundgerüst). Die werden in Tabelle 2 in Spalte F eingetragen.
Wenn Du nun in A5 einen anderen Namen wählst, wird dessen B11-Eintrag angezeigt. Den kannst Du ändern und dann wieder einen anderen Namen wählen. Wenn Du denn vorigen Namen wieder aufrufst, wird dessen B11-Eintrag wieder angezeigt.
Hallo Raptor91, Du antwortest nicht. Hast Du mit dem Makro Schwierigkeiten, das ich Dir geschrieben habe? Oder liefert es falsche Werte? Du stellst ein Problem vor, das Du gerne gelöst bekommen hast. So verstehe ich jedenfalls Deine Beschreibung. Ich dachte, meine Bemühungen wären in deinem Sinn. Du kannst nun gerne deinen Kommentar abgeben oder fragen. Oder habe ich Dich missverstanden? Raoul.