dynamisches Bild verlangsamt Excel extrem
#1
Einen wunderschönen Montagmorgen an alle Angel ,

ich hab einige dynamische Bilder in meiner Excel Datei und seitdem ich die erstellt habe ist Excel extrem langsam geworden
von daher schätze ich, das es an denen liegt.
Ich habe eine Dropdownliste mit verschiedenen Sachen zur Auswahl.
Bei jeder Auwahl ändert sich das Bild. Das dynamische Bild ist gleich Bild01 und Bild01 enthält die Formel "=INDIREKT(Tabelle1!$B$2;1)"
Die Bilder stehen in der Zelle E1;F1;G1 und in der Zelle B2 hab ich eine Wenn Funktion die sich mit der Auswahl der Dropdownliste ändert jenachdem zu E, F oder G.
Ich hab eine Beispiel-Datei erstellt. Gibt es eine elegantere Lösung zu dem Problem, dass die Datei auch nicht so langsam macht?

Vielen Dank und schöne Grüße Joe


Angehängte Dateien
.xlsx   dynamischesBild-bsp.xlsx (Größe: 19,99 KB / Downloads: 32)
Top
#2
Hi Joe,

dein XL ist nicht wegen den Bildern, sondern wegen deiner INDIREKT-Fkt. langsam geworden. Hier und auf den entsprechenden Folgeseiten findest du eine hervorragende Erklärung.

Ich denke, dass mit einem Makro deinem Problem abgeholfen werden kann. Ich selbst kann dir dabei aber mangels Kenntnissen nicht helfen. Wir haben aber genügend VBA-Spezialisten.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo!
Bei mir auf einem betagten Laptop ist die Datei schnell.
Auch wenn es jetzt unlogisch erscheint:
DEAKTIVIERE mal die Grafikbeschleunigung unter
Datei, Optionen, erweitert, Anzeige
Haken bei Hardwaregrafikbeschleunigung deaktivieren SETZEN.

Manche Grafiktreiber verstehen sich schlecht mit Excel.

Erfolg?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Hey Danke erstmal für die schnellen Antworten,

Günter, das dachte ich mir schon das das an Indirekt liegt, aber mir fällt kein Ersatz dafür ein.

Ralf, deine Lösung hat bei mir leider nicht funktioniert.

Gruß Joe
Top
#5
Hallo Joe,

hier mal ein VBA-Ansatz, passend zu Deiner Upload-Datei. Das Makro kommt in das Codemodul des Tabellenblattes, wo die Formeln stehen und die Auswahl erfolgt. Ich habe hier mal die einzelnen Textboxen sichtbar bzw. unsichtbar geschaltet. Du kannst sie dann z.B. alle übereinander positionieren und brauchst sie nicht mehr einzeln irgendwohin zu tun.
Siehe die Kommentare im code für weitere Erklärungen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Variablendeklaration
'Variant-Array
Dim arrShapes
'Integer
Dim iCnt%
'Array it Namen der Textboxen
'Hinweis: Wenn z.B. die Zahl im Name Name der Textbox mit dem
'Zaehler übereinstimmt, ist kein array noetig
arrShapes = Array("TextBox 3", "TextBox 5", "TextBox 6")
'Schleife ueber die Auswahleintraege
For iCnt = 0 To 2
  'Sichtbarschaltung der textboxen anhand der Uebereinstimmung des
  'Eintragszaehlers mit der Zahl im Textboxname
  'Hinweis: bei zweistelliger Anzahl ist anders vorzugehen
  Me.Shapes(arrShapes(iCnt)).Visible = (Left(Target.Value, 1) = iCnt + 1)
'Schleife ueber die Auswahleintraege
Next
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#6
Danke an alle für eure mühe,

ich hab jetzt eine einfachere Lösung gefunden, die zwar nicht ganz perfekt ist, aber funktioniert.
Ich hab den Namen mit der folgenden Funktion versehen: =INDEX(Zellen mit den Bildern;1;$A$2)
In Zelle A2 ist eine Wenn-Funktion die sich mit der Dropdownliste ändert.

Die Datei hängt bisschen wenn man die Bilder ändert oder wenn man unabhängige Dropdownlisten benutzt, aber ich bin Rund um zufrieden.

Gruß Joe Angel
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste