Hello again,
mach dir keine Sorgen, ich hab eh tagsüber keine Zeit, mich hier
reinzuvertiefen. Man muss ja nebenbei auch noch seine Brötchen
verdienen.
So langsam, fange ich aber an zu verstehen was du hier gebaut
hast. Auch ohne den Zugriff auf deine Dateien, die du ja wieder
gelöscht hast, bevor ich einen Blick reinwerfen konnte. Diese
Funktion von Excel kannte ich bislang noch nicht. Klappt sogar mit
meinem alten Excel 2000 - Freu!
Verändert hat sich die Geschwindigkeit, als ich sämtlich
definierte Namen im Namensmanager gelöscht hatte. Doch nun
funktionierte logischerweise die dynamische Anzeige der Grafiken
nicht mehr.
Ich könnte mir vorstellen, dass es vielleicht eine Möglichkeit gibt,
wenn man die Namensdefinitionen weglässt und erstmal versucht
einen Code einzufügen, der der Formula-Eigenschaft des
auszugebenden Picture Objekts den Wert der Zelle zuweist, in der
dein Bezug zusammengebaut wird. Wo genau du das Machst weiß
ich grad nicht. Deine Beschreibung ist zwar gut, aber es ist trotzdem
schwierig festzustellen, wo welcher Wert steht, um den Code
entsprechend anbieten zu können.
In etwa könnte das Ganze dann so aussehen:
- in Tabelle2 Zelle A1 liegt das wiederzugebende Bild. Die Zelle
sollte genausogroß wie das Bild (oder das Bild so klein wie die
Zelle) sein.
- In Tabelle2 Zelle B1 liegt ein anderes Bild
- Das wiederzugebende Bild wird nur aktualisiert wenn in Tabelle1
in den Zellen C1:E20 eine Eingabe erfolgt.
- In Zelle A1 wird der Bezug zusammengebaut, abhängig von der
Eingabe in den Spalten C und D zusammengebaut z.B. mit der
Formel =C1&"!"&D1 wobei in C1 der Wert
Tabelle2 und in D1 der
Wert
A1 steht.
- Im VBA-Modul des Tabellenblatts, in dem die Eingabe erfolgt, (hier
Tabelle1) stünde dann ein Code wie:
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
If Not Intersect(Target, Range("C1:E20")) Is Nothing Then
ActiveSheet.Pictures("Bild 1").Formula = Range("A1").Value
End If
End Sub
- Wird nun in D1 der Wert B1 eingegeben wechselt
das Bild.
Um das aber an deine Verhältnisse anpassen zu können, ist eine
Beispieldatei (10 Bilder reichen vorerst, egal ob mit oder ohne
Volatile Funktion) notwendig. Sonst würde die Länge der
Beschreibung hier ausufern. Die Möglichkeiten sind einfach zu
vielfältig.
Ob das aber bei 450 Bildern immer noch klappt kann ich dir nicht
hundertprozentig versprechen. Zwar ist Volatile hiermit umgangen,
aber es kann, abhängig von deinem Arbeitsspeicher, dennoch sein,
dass die Bilder ab einer gewissen Menge nicht mehr richtig
dargestellt werden und Excel schlimmstenfalls sogar abstürzt.
Kannst du halt nur ausprobieren.
Fernerhin bin ich grade dabei zu versuchen, mir die Grafiken
als verknüpfte Dateien anzeigen zu lassen.
Jede Position im Kalender liest sich einfach den entsprechend per
Berechnung ausgegebenen Bildpfad aus.
Das würde die insgesamte Anzahl an Grafiken in der Datei
verringern und zudem benötige ich dann nicht mehr "verknüpfte
Grafik", welches ja nur mehr ein Screenshot einer bestimmten Zelle
ist und das wiederum könnte den Einsatz des Namensmanager
redundant machen.
Dazu hab ich auch schon ein paar Ideen,
kann ich dir aber erst morgen sagen, falls Möglichkeit 1 fehlschlägt.
Jetzt muss ich erstmal in die Heia, sonst komm ich morgen zu spät
zur Arbeit.
Ach ja: Eine Editierfunktion würde ich mir auch wünschen. Hoffen wir
mal, dass die bald umgesetzt wird. Das würde Vieles erleichtern
Gruß Mr. K.