Clever-Excel-Forum

Normale Version: checkboxen zuweisen und auswerten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Chris,

habe mir das mal angesehen, leider gibt es in deinem Formular einige Probleme, die meinem Vorschlag im Wege stehen. 
1. haben die Gruppen für die Eigenbeurteilung und die Beurteilungen durch den Vorgesetzten den gleichen Namen (zumindest teilweise) das ist falsch.
2. gibt es möglicherweise mehr Optionsschaltflächen als benötigt, bzw. ist deren Nummerierung nicht konsistent. (Damit könnte man zur Not leben).

Meine Idee geht dahin: (eintragen der Zustände FALSCH oder Wahr in die Liste):

Code:
Private Sub CommandButton1_Click()
    Dim intAnz As Integer
    Dim lngRow As Long
    lngRow = Application.Match(MAName.Text, Columns(1), 0)
    For intAnz = 17 To 80
        data2020.Cells(lngRow, intAnz) = Controls("OptionButton" & intAnz)
    Next intAnz
End Sub

Zurückschreiben der Werte bei Aufruf des MA-Namens:

Code:
Dim lngRow As Long
    Dim intAnz As Integer
    lngRow = Application.Match(ListeMA.Text, data2020.Columns(1), 0)
    For intAnz = 17 To 143
         Controls("OptionButton" & intAnz) = data2020.Cells(lngRow, intAnz)
    Next intAnz

Das hatte ich auch in deine Datei eingebaut, wegen der oben angesprochenen Punkte gibt es aber Laufzeitfehler.
Hallo Chris,

habe das mal in deine Datei eingebaut. Weise aber ausdrücklich darauf hin, dass das nur bedingt funktioniert, da es offenbar mehr Optionsschaltflächen gibt als benötigt, (die liegen übereinander), passt die Nummerierung nicht. Das führt dazu, dass nicht alle Zustände richtig angezeigt werden, wenn ein Name erneut aufgerufen wird. Das Prinzip kannst du aber erkennen.
Hallo Klaus-Dieter,

Vielen vielen Dank. Habs mal getestet und das Daten eintragen in meine Speicherroutine übernommen scheint super zu funktionieren.

Jetzt muß ich nur mal sehen wie die Daten zur Auswertung bekomme. Dafür brauche ich eigentlich immer den gewählten Wert (-3,-2,-1,0,+1,+2,+3).
Meinst es macht Sinn die vielen Einträge auf ein extra Tabellenblatt umzusiedeln? oder wird es dann mit der Zuteilung wieder kompliziert?

Das mit der Berechnung wird wohl auch nochmal eine Hürde.
Auf der rechten Seite werden 6 Fragen je nach gewählter Antwort mit Werten belegt. z.B. bei Eigeninitiative wären -3 = -18 / -2 = -12 / -1 = -8 / 0 = 0 / und dann das gleiche mit +
Bei den 6 Fragen zusammen kann man dann sozusagen zwischen 0 und 100% erreichen, was mit der Berechnung für einen Bonus zu tun hat.

Es sollen dann im Userform noch 2 Felder kommen in denen die Prozente sowie der erreichte Betrag ausgegeben werden.
Mein Gedanke wäre pro Frage die Optionsfelder in der Tabelle abzufragen und den entsprechenden Wert für das Feld mit Wahr in die Berechnung zu nehmen. Muß mir allerdings erst noch Gedanken machen
wie ich das ganze am Besten angehe. Vielleicht hast du ja eine Idee?

Falls dem so ist würd ich dir mal genau definieren was ich meine, also welche Felder welche Werte haben.


Gruß Chris

PS: Vielen Dank schon mal bis hierhin  :97:
@Klaus Dieter

Das ganze könnte viel einfacher laufen:
Jede änderung wird im Listbox gespeichert.
Wenn das Userform geschlossen wird, wird der Listbox im Arbeitsblatt gespeichert.
So lange das Userform geöffnet ist, gibt es kein Interaktion mit dem Arbeitsblatt.

NB. Schau mal auch:

https://www.snb-vba.eu/VBA_Userform_in_database_en.html
https://www.snb-vba.eu/VBA_Userform_invo...le_en.html
und
https://www.snb-vba.eu/VBA_Fill_combobox...ox_en.html
Hallo,

ich schau mir die Sachen morgen mal an.

Bis dahin hab ich mal angeglichen und meine Optionsfelder in Ordnung gebracht. Sauber nummeriert und die Gruppen benannt.
Beim Speichern speichert er allerdings die ersten 16 Optionsfelder liegt. Bin mir nicht schlüssig was falsch läuft.

Vielleicht kannst nochmal reinschauen. Smile



Gruß Chris
Hallo snb,

wenn du dir alle Beiträge angesehen hättest, wäre dir aufgefallen, dass ich den Weg des TE auch nicht gegangen wäre. Da er aber auf seiner Version bestanden hat, habe ich versucht dabei, zu helfen. Warum also, willst du mich jetzt von einem anderen Weg überzeugen?
Ich will nicht überzeugen, nur eine Alternative zeigen die m.E. effizienter ist als die letzte von dir hochgeladene Datei.
Hallo snb,

hast du eigentlich auch einen richtigen Namen, mit dem man dich ansprechen kann? 
In das Projekt wollte ich gar nicht so tief einsteigen, weil ich so nicht arbeiten würde. Insofern hättest du deinen Vorschlag auch an den TE richten können. Wenn ich persönlich angesprochen werde, nehme ich das auch persönlich. Um es noch mal deutlich zu sagen: was ich da vorgeschlagen habe, war aus meiner Sicht das, was man anhand der Vorgaben zum Beispiel machen könnte. Natürlich gibt es auch andere Lösungsmöglichkeiten. Es ist ja letztlich der Sinn eines Forums, dass da verschiedene Vorschläge kommen (können), aus denen der TE sich dann das aussucht, was ihn am besten gefällt. 
Inwieweit VBA-Einsteiger mit deinen minimalistischen Quelltexten etwas anfangen können, wäre ein anderes Thema.
Seiten: 1 2