Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Reihenfolge der Anzeige

Forumthread: Reihenfolge der Anzeige

Reihenfolge der Anzeige
09.12.2024 16:28:35
Wolfgang
Hallo,

ich kämpfe gerade mit folgendem Problem:

Bei der Simulation eines Würfelspiels wird:
- die gewürfelte Zahl in eine Zelle geschrieben
- eine Grafik mit der Anzahl der gewürfelten Augen geladen.
Anschließend erfolgt eine Frage dazu.
Interessanterweise erscheint die geladene Grafik erst, nachdem die Frage gestellt wurde, während in der Zelle aber die richtige Anzahl schon davor steht.
------------------------
Sub test()
'Würfeln
strpath = ActiveWorkbook.Path 'Pfad der XLS-Datei
Randomize Timer
augen = Int((6 * Rnd) + 1)
Range("D12").Value = augen
bild = Trim(Str(augen)) + ".gif"
Sheets(1).Image1.Picture = LoadPicture(strpath & "\" & bild)

' Frage
eingabe = InputBox("Eie heißt heißt die Antwort?", "Test")
If eingabe = "ja" Then antwort = 1 'richtig
If eingabe = "nein" Then antwort = 0 'falsch
End Sub
----------------------------------------

Wer kann mir bitte helfen? Vielen Dank!

Wolfgang
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Reihenfolge der Anzeige
09.12.2024 16:32:05
{Boris}
Hi,

bau ne Verzögerung nach dem Laden des Bildes ein - entweder mit der Wait-Methode oder mit der API-Function Sleep.

VG, Boris
AW: Reihenfolge der Anzeige
09.12.2024 16:33:25
daniel
Hi
Excel schließt mache durch VBA ausgelöste Aktionen erst dann vollständig ab, wenn das Makro durchgelaufen ist.
Gerade so Aktualisierungen der Anzeige von Grafiken sind da betroffen.
probier mal, ob der Befehl: Application.ScreenUpdating = True nach dem Laden des Bildes Abhilfe schafft.

Gruß Daniel
Anzeige
AW: Reihenfolge der Anzeige
09.12.2024 17:06:35
Uduuh
Hallo,
ich würde alle Bilder in das Blatt packen (z.B. _pic1, ..._pic6), alle ausblenden und nur das entsprechende einblenden.


Sub test()
'Würfeln
Dim s As Shape
Dim Bild As String, Eingabe As String, Antwort As Integer
Dim Augen As Integer

For Each s In ActiveSheet.Shapes
s.Visible = False
Next

Randomize Timer
Augen = Int((6 * Rnd) + 1)
Range("D12").Value = Augen
Bild = "_pic" & Augen
ActiveSheet.Shapes(Bild).Visible = True
' Frage; was soll das?
Eingabe = InputBox("Wie heißt heißt die Antwort?", "Test")
If Eingabe = "ja" Then Antwort = 1 'richtig
If Eingabe = "nein" Then Antwort = 0 'falsch
End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: Reihenfolge der Anzeige
09.12.2024 18:33:21
daniel
Hi
ich würde das so machen:

1. lege ein weites Tabellenblatt an, nenne es "Würfel"
2. platziere hier die 6 Bilder der Würfel in die Zellen A1-A6 (entsprechend der Augenzahl)
3. mach die Zellen so groß, dass die Würfel mit möglichst wenig Rand reinpassen
4. kopiere jetzt eine Zelle diese Zellen und füge sie im anderen Blatt als "verknüpfte Grafik" ein
(Kontextmenü - Einfügeoptionen - kleiner Pfeil - weitere Einfügeoptionen unten rechts)
5. gehe jetzt in den Namensmanager und lege dort einen Namen an (z.B. "Würfel") mit folgender Formel bei bezieht sich auf: =Wenn(Tabelle1!$D$12="";Würfel!$A$7;Index(Würfel!$A$1:$A$6;Tabelle1!$D$12))
6. gehe jetzt wieder auf die eingefügte Grafik und gib in der Bearbeitungszeile die Formel ein: =Würfel (also den von dir angelegten Namen

im Code brauchst du dich dann gar nicht mehr um das Bild zu kümmern, außer dass man jetzt das ScreenUpdating = True benötigt:

Range("D12").value = Worksheetfunction.RandBetween(1, 6)

Application.ScreenUpdating = True
'Frage
eingabe = InputBox("Eie heißt heißt die Antwort?", "Test")
If eingabe = "ja" Then antwort = 1 'richtig
If eingabe = "nein" Then antwort = 0 'falsch


Gruß Daniel
Anzeige
AW: Reihenfolge der Anzeige
09.12.2024 17:23:47
Wolfgang
Danke, Udo. Ich werde es so machen.
lg
Wolfgang
AW: Reihenfolge der Anzeige
09.12.2024 17:00:34
Wolfgang
Leider helfen beide bisherigen Tipps nicht.
AW: Reihenfolge der Anzeige
09.12.2024 17:02:54
{Boris}
Hi,

zeig doch bitte mal Deine (Beispiel-)datei. Ganz eventuell könnte auch DoEvents ne Option sein (ist aber mit Vorsicht einzusetzen).

VG, Boris
Anzeige
Udo hat Recht...
09.12.2024 17:16:11
{Boris}
Hi,

platziere die 6 Würfelbilder in der Datei.
Die Spalten mit den 6 Würfeln kannst Du ausblenden. In die gelbe Zelle wird Dein Wert aus dem Makro eingetragen (hab die testweise mit ner Zufallsfunktion belegt). Der passende Würfel kommt dann per einfacher Verweis-Formel dazu.

https://www.herber.de/bbs/user/174200.xlsx

VG, Boris

Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18