Hallo,
ich habe mir über Jahre viel selbst angeeignet und habe vielleicht auch bei manchen Excel-Dateien viele Umwege in Kauf genommen, weil ich noch nicht bessere Lösungen vorliegen hatte. Das ist jetzt anders, aber die alten Dateien sind nicht gleich alle so schnell aktualisierbar, zumal es ja auch so ganz gut funktioniert. Bei VBA bin ich wirklich ein absoluter Laie.
Ich selbst arbeite mit Excel 2016, an der Arbeit jedoch mit Excel 2010. Auf Excel 2010 bezieht sich deshalb auch meine Frage.
Es handelt sich um eine "Tabelle", in der verschiedene Kinos (ca. 25, im Beispiel habe ich jetzt nur ganz wenige) in verschiedenen Filmprogrammen eingesetzt werden (Abspielring innerhalb eines Monats). Zur Vorgehensweise: Der eingetragene Kinoname (also genauer gesagt: die Zelle selbst) wird entweder per Maus oder per Kopierfunktion bzw. durch Ausschneiden auf einen anderen Platz gezogen (das erklärt die vielen indirekten Bezüge in den Nachbarzellen, um die es zwar in meiner Anfrage nicht geht und die ich mittlerweile anders lösen würde - damit wird abgeprüft, ob das jeweilige Kino nicht bereits anderweitig belegt ist [es kann nur jeweils ein Filmprogramm im Kino gespielt werden]). Oder er wird drittens einfach eingetragen.
Mittels bedingter Formatierung verändert sich die Zellfarbe je nach Wochentag, da manche Kinos mehrere Tage belegen und andere nur einen.
Bisher: Bis zuletzt hat das Meiste wunderbar funktioniert. Mittels manuell eingegebener Datenüberprüfung je Kino wurde bei jedem Kino das gelbe Kästchen eingeblendet, das Informationen zum jeweiligen Kino bereithielt. Das Problem dabei ist, dass diese sich diese Informationen laufend ändern und aktualisiert werden müssen. Leider ist dies verständlicherweise eine Sisyphos-Arbeit.
Wunsch: Ich hätte gerne, dass sich diese Informationen (mittels gelbem Kästchen) laufend aktualisieren, sobald man eine Zelle auswählt. Durch eigene Recherche in Foren und eigener Ideen habe ich folgendes Konstrukt erreicht:
In Zelle B16 wird über =ADRESSE(ZELLE("Zeile");ZELLE("Spalte")+1) abgefragt, welcher Zellinhalt für das Suchkriterium des Sverweis herhalten soll (also die Zelle rechts neben der aktiven Zelle, da bspw. bei „Filmpalast 1“ und „Filmpalast 2“ die Infos desselben Kinos abgefragt werden sollen wegen mehrerer Termine), der seine Informationen aus dem Bereich TT_Eingabemeldungen zieht. Ich würde gerne auf den Umweg mit dem Sverweis verzichten.
In anderen Foren bin ich auf diesen VBA-Code gestoßen, den ich angepasst habe und der mir unter gewissen Voraussetzungen das korrekte Ergebnis (im gelben Kästchen) ausgibt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InputTitle = ActiveCell.Value
.InputMessage = ActiveSheet.Range("C16").Text
End With
End Sub
Leider nur unter diesen Voraussetzungen:
- die Zelle wurde kopiert (wunderbar)
- die Zelle wurde mit der Maus verschoben (wunderbar)
- die Zelle muss doppelt angeklickt worden sein (nicht ausreichend)
Mit dieser Tabelle arbeiten auch Leute, die überhaupt keine Ahnung von Excel haben (…wollen ;) ), deshalb wäre es mir wichtig, dass sobald eine Zelle mit der Maus einfach ausgewählt wird (ohne Doppelklick) eine entsprechende dynamische Datenüberprüfung ausgegeben wird.
Problematisch ist bei dem obigen VBA-Code nämlich, dass sobald eine Zelle einfach ausgewählt wurde, im gelben Kästchen die zuletzt abgefragte Datenüberprüfung angezeigt wird [deshalb habe ich, um das entsprechend anzuzeigen, den anzuzeigenden Text entsprechend angepasst (Bsp.: man verschiebt „Cinestar“ und bekommt die korrekte Datenüberprüfung angezeigt; dann wählt man einfach „Cinema02“ aus und erhält Titel „Cinema02“ (korrekt) aber Text „Cinestar aktiviert: Text“ (nicht korrekt, ich möchte gerne die Datenüberprüfung zu Cinema02 angezeigt bekommen))]
Kurz: ich wünsche mir bei einfacher Auswahl einer Zelle eine unmittelbare Datenüberprüfung mittels eines gelben Kästchen, in dem die Infos stehen, welche aus einer Bereichstabelle gezogen werden. Ohne, dass bei einer weiteren Auswahl einer leeren Zelle die Informationen der vorherigen nicht angezeigt werden. Gerne darf mein Konstrukt komplett überworfen werden ;). Können solche Wünsche in Erfüllung gehen?
Über jede Hilfe oder Anregung bin ich sehr dankbar. Datei anbei.
Beste Grüße, Afa