Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserForm für Feedback reagiert komisch

UserForm für Feedback reagiert komisch
22.07.2021 15:31:01
Christian
Hallo zusammen,
ich bin gerade dabei eine UserForm zu basteln, in der man Feedback geben kann. Das soll über 5 Sternchen gehen, wie man das von vielen Webseiten so kennt.
Wenn man mit der Maus drüber geht (MouseMove) werden die Bilder entsprechend geändert, vom leeren zum gefüllten Sternchen. Das klappt auch wunderbar.
Wenn ich aber ein Sternchen anklicke, geht es damit nicht mehr. Das Bild kann dann über VBA offenbar nicht mehr geändert werden. Click-Events habe ich aber noch gar nicht programmiert! Deshalb kann ich auch nicht nachvollziehen was da passiert und wo das Problem ist.
Hat vielleicht jemand eine Idee? Was ändert ein Klick auf ein Objekt im Bezug auf das MouseMove-Event?
Hier die Datei mit der Userform: https://www.herber.de/bbs/user/147259.xlsm
Besten Dank fürs Reinschauen und viele Grüße,
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm für Feedback reagiert komisch
22.07.2021 16:10:44
Nepumuk
Hallo Christian,
das ist ein mir bekannter Bug des Image-Controls. Benutze statt dessen Labels bei denen passiert das nicht.
Gruß
Nepumuk
AW: UserForm für Feedback reagiert komisch
22.07.2021 16:54:13
Christian
Hallo Nepumuk,
Super, danke dir!
Mit Labels klappt's tatsächlich einwandfrei. War mir ehrlich gesagt noch gar nicht klar, dass man da auch Bilder reinlegen kann...
Merci und viele Grüße,
Christian
AW: UserForm für Feedback reagiert komisch
22.07.2021 18:09:34
Daniel
HI
ich würde hier keine Grafiken verwenden, sondern einfach das Schriftzeichen Stern, gefüllt und ungefüllt (Unicode dezimal 9733 und 9734)
die Userform kann das darstellen.
es reicht dann dieser Code, über die Variable A kannst du dann das Ergebnis abfragen.
ein Klick fixiert die Auswahl, der nächste Klick hebt die fixierung wieder auf.
man muss aber nicht fixieren, man kann auch einfach das Label nach unten oder oben verlassen.
also wie gesagt:
lösche deine Grafiken
füge ein "Label2" hinzu.
Vordergrundfarbe gelb und Schriftgard mit 16 oder so (musst du ausprobieren)
die Größe des Labels so anpassen, dass die Sterne mittig sitzen, und der Rand so groß ist wie der Zwischenraum zwischen den Sternen

Option Explicit
Dim A As Long
Dim fixieren As Boolean
Private Sub Label2_Click()
fixieren = Not fixieren
End Sub
Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
Dim txt As String
Dim i As Long
If Not fixieren Then
A = WorksheetFunction.RoundUp(x / Label2.Width * 5, 0)
txt = " "
For i = 1 To A
txt = txt & ChrW(9733) & " "
Next
For i = i To 5
txt = txt & ChrW(9734) & " "
Next
Label2.Caption = txt
End If
End Sub
Private Sub UserForm_Initialize()
Label2.Caption = " " & WorksheetFunction.Rept(ChrW(9734) & " ", 5)
End Sub
Gruß Daniel
Anzeige
AW: UserForm für Feedback reagiert komisch
22.07.2021 19:02:08
Christian
Hi Daniel,
cool, besten Dank!
Hab grade ein bisschen gebraucht bis ich durchgestiegen bin... ;) Elegante Lösung, ist ja fast 10x kürzer als meine Version!
Mit deinem Code kann ich auch die Bilder entsprechend der Maus-Position laden (statt den String zusammen zu setzen). Ich hab grade ein bisschen Zeit damit zugebracht die Sterne etwas aufzuhübschen, daher würde ich die weiter nutzen.
Viele Grüße,
Christian

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige