Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
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

Anzeige Zellinhalt in Userform

Anzeige Zellinhalt in Userform
13.10.2020 13:52:02
Markus
Hallo...
Ich habe eine Tabelle mit Rechenaufgaben (Plus und Minus). Insgesamt werden immer 10 Aufgaben (Zahlen werden per Zufall ausgewählt) dem Benutzer angezeigt. Nach Eingabe des Ergebnisses (vom Benutzer) wird angezeigt/überprüft, ob es richtig oder falsch ist.
Nun wollte ich eine Auswertungsübersicht in einer Userform einblenden lassen.
Wenn der Benutzer seine 10 Ergebnisse eingetragen hat, soll automatisch eine Userform eingeblendet werden und dort sollen alle falschen Aufgaben mit dem falschen (eingetragenen) Ergebnis und dem richtigen Ergebnis angezeigt werden.
Es könnten in der Userform somit im ungünstigsten Fall 10 Aufgaben mit korrektem Ergebnis oder keine Aufgabe (alle Ergebnisse waren richtig) stehen.
Ist dies machbar?
P.S. Meine Aufgaben sind so vorbereitet. A3:A12 = Zahlen (z.B. 1. Summand) in B (3:12) steht das Zeichen (+ oder -). In C3:C12 stehen die Zahlen (z.B. 2. Summand). D3:D12 steht jeweils das "=". Und in E3:E12 macht der Benutzer seine Ergebnis-Eintragungen.
Wie gesagt..Die Userform soll als Auswertungsfenster dienen. Hier steht noch einmal wieviele Aufgaben richtig gelöst und wieviele Aufgaben falsch gelöst wurden. Dazu noch die benötigte Zeit für alle Eintragungen. Und hier sollen noch die Aufgaben aufgelistet werden, welche man falsch hatte.
VieleN Dank

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige Zellinhalt in Userform
13.10.2020 13:54:40
Nepumuk
Hallo Markus,
erstell mal ein UserForm wie du dir das vorstellst und lade die Mappe hoch.
Gruß
Nepumuk
AW: Anzeige Zellinhalt in Userform
13.10.2020 14:50:02
Markus
Hallo...Ich lade mal eine Testdatei hoch. So sieht meine Eingabemaske aus. Ich habe meine Eingaben in F8:F17 zu machen. In G8:G17 wird angezeigt, ob mein Ergebnis richtig war.
Eine Userform habe ich noch nicht erstellt, möchte aber in dieser angezeigt bekommen (als Auswertungsfenster) welche Aufgaben falsch waren (z.B. Zeile 9 - 25+30=45 (55 ist das richtige Ergebnis).
Falsch in der Testdatei wären auch Zeile 11, 15 und 17.
Diese 4 Aufgaben sollen dann in der Userform angezeigt werden.
https://www.herber.de/bbs/user/140863.xlsx
Anzeige
AW: Anzeige Zellinhalt in Userform
13.10.2020 18:45:55
Markus
Vielen Dank Nepumuk.
Klasse Lösung.
Könnte man noch irgendwie die richtige Lösung mit einbinden? In rot, vielleicht das falsche Ergebnis und in grün dann das richtige Ergebnis?
Und was bedeutet das?
Private Sub CommandButton1_Click()
Call Unload(Object:=Me)
End Sub
Hattest Du schon einen CommandButton eingefügt in die Userform?
Nach dem Eintragen der Ergebnisse kam bei mir keine automatische Einblendung der Userform (mit den falsch eingetragenen Aufgaben.
Ich habe dann selbst einen Button mit Userform1.Show eingefügt.
Anzeige
AW: Anzeige Zellinhalt in Userform
13.10.2020 21:47:14
Markus
Klasse Nepumuk.
Könnte man das ganze noch auf die Spalte daneben (J8:J22, L8:L22 und N8:N22) erweitern?
Bisher hast Du es ja für die ersten 15 Aufgaben hinbekommen.
Wenn ich mich nun entschließe noch mehr Aufgaben zu erstellen, ginge das dann auch?
AW: Anzeige Zellinhalt in Userform
14.10.2020 06:03:59
Nepumuk
Hallo Markus,
mehr mache ich nicht, es macht nämlich keinen Spaß 90 Labels und 15 Images umzubenennen.
https://www.herber.de/bbs/user/140876.xlsm
Gib mal in N22 ein Ergebnis ein.
Gruß
Nepumuk
Anzeige
AW: Anzeige Zellinhalt in Userform
14.10.2020 06:09:00
Nepumuk
Ooooooooooooops,
da ist noch ein Fehler im Code.
Private Sub UserForm_Initialize()
    
    Dim lngRow As Long, lngIndex As Long
    
    For lngRow = 8 To 22
        
        If Cells(lngRow, 7).Value = 0 Then
            
            lngIndex = lngIndex + 1
            Controls("Label" & CStr(lngIndex)).Caption = Cells(lngRow, 2).Value
            Controls("Label" & CStr(lngIndex + 20)).Caption = Cells(lngRow, 3).Value
            Controls("Label" & CStr(lngIndex + 40)).Caption = Cells(lngRow, 4).Value
            Controls("Label" & CStr(lngIndex + 60)).Caption = Cells(lngRow, 5).Value
            Controls("Label" & CStr(lngIndex + 80)).Caption = Cells(lngRow, 6).Value
            Controls("Label" & CStr(lngIndex + 100)).Caption = _
                Evaluate(Cells(lngRow, 2).Value & Cells(lngRow, 3).Value & Cells(lngRow, 4).Value)
            Set Controls("Image" & CStr(lngIndex)).Picture = Image0.Picture
        End If
        
        If Cells(lngRow, 15).Value = 0 Then
            
            Controls("Label" & CStr(lngIndex + 120)).Caption = Cells(lngRow, 10).Value
            Controls("Label" & CStr(lngIndex + 140)).Caption = Cells(lngRow, 11).Value
            Controls("Label" & CStr(lngIndex + 160)).Caption = Cells(lngRow, 12).Value
            Controls("Label" & CStr(lngIndex + 180)).Caption = Cells(lngRow, 13).Value
            Controls("Label" & CStr(lngIndex + 200)).Caption = Cells(lngRow, 14).Value
            Controls("Label" & CStr(lngIndex + 220)).Caption = _
                Evaluate(Cells(lngRow, 10).Value & Cells(lngRow, 11).Value & Cells(lngRow, 12).Value)
            Set Controls("Image" & CStr(lngIndex + 20)).Picture = Image0.Picture
            
        End If
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Anzeige Zellinhalt in Userform
14.10.2020 07:18:49
Markus
Danke vielmals....
Ein Fehler?
Bei mir hat der 1. Test funktioniert.
Habe aber auch den alten Code mal durch den Neuen überschrieben. Da fiel mir auf, dass die rechte Spalte nicht ganz so gut aussieht, wie die linke Spalte. Da wurde nie so zusammengerückt. Wenn es richtig war, wurde "frei" gelassen und nicht aufgerückt.
Das sah beim 1. Code besser aus.
AW: Anzeige Zellinhalt in Userform
14.10.2020 07:24:14
Nepumuk
Hallo Markus,
das einzige was ich im Code geändert habe, ist diese Abfrage:
If Cells(lngRow, 15).Value = 0 Then

Gruß
Nepumuk
AW: Anzeige Zellinhalt in Userform
14.10.2020 07:34:22
Nepumuk
Hallo Markus
nicht aufgerückt, so:
Private Sub UserForm_Initialize()
    
    Dim lngRow As Long, lngIndex As Long
    
    For lngRow = 8 To 22
        
        lngIndex = lngIndex + 1
        
        If Cells(lngRow, 7).Value = 0 Then
            
            Controls("Label" & CStr(lngIndex)).Caption = Cells(lngRow, 2).Value
            Controls("Label" & CStr(lngIndex + 20)).Caption = Cells(lngRow, 3).Value
            Controls("Label" & CStr(lngIndex + 40)).Caption = Cells(lngRow, 4).Value
            Controls("Label" & CStr(lngIndex + 60)).Caption = Cells(lngRow, 5).Value
            Controls("Label" & CStr(lngIndex + 80)).Caption = Cells(lngRow, 6).Value
            Controls("Label" & CStr(lngIndex + 100)).Caption = _
                Evaluate(Cells(lngRow, 2).Value & Cells(lngRow, 3).Value & Cells(lngRow, 4).Value)
            Set Controls("Image" & CStr(lngIndex)).Picture = Image0.Picture
        End If
        
        If Cells(lngRow, 15).Value = 0 Then
            
            Controls("Label" & CStr(lngIndex + 120)).Caption = Cells(lngRow, 10).Value
            Controls("Label" & CStr(lngIndex + 140)).Caption = Cells(lngRow, 11).Value
            Controls("Label" & CStr(lngIndex + 160)).Caption = Cells(lngRow, 12).Value
            Controls("Label" & CStr(lngIndex + 180)).Caption = Cells(lngRow, 13).Value
            Controls("Label" & CStr(lngIndex + 200)).Caption = Cells(lngRow, 14).Value
            Controls("Label" & CStr(lngIndex + 220)).Caption = _
                Evaluate(Cells(lngRow, 10).Value & Cells(lngRow, 11).Value & Cells(lngRow, 12).Value)
            Set Controls("Image" & CStr(lngIndex + 20)).Picture = Image0.Picture
            
        End If
    Next
End Sub

Gruß
Nepumuk
Anzeige
nachgefragt
13.10.2020 15:52:11
ralf_b
Hattest du das für deine Rechenmaschine nicht schon vor einer Weile, möglicherweise in anderen Foren, nachgefragt? Ich meine mich dunkel daran zu erinnern. Wenn ja, was ist denn dabei rausgekommen?
Wird es dazu auch andere Blätter geben? ( Multiplikation usw.)
Wann wir die Zeit gestartet und wann (bei welchem Auslöser) soll die Zeit gestoppt werden?
Reicht dir evtl auch eine einfache Messagebox mit den Auswertungsinfos? Messagebox ist nicht so variable mit grafischen Abwandlungen, aber einfacher.
AW: nachgefragt
13.10.2020 23:12:15
Markus
Hallo Ralf,
ja..ich hatte schon einige Fragen ins Forum gestellt. Und ja...ich habe mein Rechenprogramm auch für die Subtraktion, Multiplikation und Division ausgelegt. Aber ganz fertig ist das Programm noch nicht. :-)
Aber ich bin auf einem guten Weg, dank der Hilfe hier im Forum!!!
Die Zeit soll für die Stoppuhr starten, wenn die erste Eingabe eines Ergebnisses getan wurde und die Stoppuhr endet, wenn das 10. Ergebnis eingetragen wurde. 10 Aufgaben soll es ja bei dieser Übung geben.
Das habe ich aber bereits durch ein Makro erledigt. Habe meine Beispieldatei nur aufs Nötigste begrenzt.
Anzeige
AW: Anzeige Zellinhalt in Userform
13.10.2020 15:53:34
Daniel
Hi
ich würde hier über die Userform nur die Information geben, wieviele Antworten richtig sind und wieviele Falsch sind und ggf welche Zeit benötigt wurde, vielleicht auch mit einer Einschätzung der Leistung.
die Anzeige der falsch gelösten aufgaben würde ich in der Tabelle selber realisieren, in dem ich die richtig gelösten Aufgaben ausblende, so dass nur die falsch gelösten sichtbar bleiben, mit der Aufforderung, diese nochmal zu korrigieren.
das Ein- und ausblenden kannst du komplett über bedingte Formatierung regeln, so dass du nichts, bzw ganz wenig programmieren musst.
Auch ist es aufwendig, in der Userform dieselbe Optik zu bekommen wie in der Tabelle, also ist es sinnvoller, in der Tabelle zu bleiben.
Gruß Daniel
Anzeige
AW: Anzeige Zellinhalt in Userform
13.10.2020 23:15:24
Markus
Hallo Daniel. Das wäre auch eine Möglichkeit wg. der besseren bildlichen Darstellung. Wie würde ich das aber mit der bedingten Formatierung am besten hinbekommen? Eine Userform nur mit ein paar wenigen Infos und wie könnte dann meine Übersicht mit der Formatierung aussehen?
Hast Du auch eine Idee, wie die Userform automatisch eingeblendet werden kann, wenn das letzte Ergebnis eingetragen wurde?
AW: Anzeige Zellinhalt in Userform
13.10.2020 23:53:47
Daniel
Wie du das am besten hinbekommst, weiß ich auch nicht.
Ist ja nur so ein Gedanke.
Du könntest beispielsweise in einer Zelle über die Funktion
ANZAHL ermittelt, in wieviele Zellen ein Ergebnis eingetragen wurde.
Diese Zelle fragst du im Calculate-Event ab und wenn die Zahl erreicht wurde, die der Anzahl der Aufgaben entspricht, startet du die Userform.
Diese Zelle kannst du auch für die bedingte Formatierung nutzen, um die korrekt beantworteten Zeilen auszublenden.
Wenn in der Zelle die Anzahl erreicht ist und die Zeile richtig beantwortet ist, dann wird das Zahlenformat der Zelle auf ;;; gesetzt, damit wird nichts mehr angezeigt.
Wie gesagt, nur mal so als Gedankenansatz
Die fertige Lösung sollte dann schon von dir kommen.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige