Optionbuttons in Userform programmieren

17/06/2009 - 09:55 von Martina Möhrke | Report spam
Hallo NG,
ich arbeite mit Excel 2003/SP3 und möchte in einer Userform
Optionbuttons integrieren. Leider habe ich dies noch nicht gemacht, so
dass ich auf Eure Hilfe hoffe.

In meiner Userform werden 11 Hotels aufgeführt, die jeweils empfohlen
oder nicht empfohlen werden sollen. Für jedes Hotel gibt es demnach 2
Optionbuttons - "Yes" und "No".

Der Anwender sollte nun seine Entscheidung über die Optionsbuttons
treffen. Mit dem Commandbutton 'cmdok' sollen dann auf der
Registerkarte 'results' die getroffenen Entscheidungen bspw. für das
1. Hotel in Zelle C5 (Yes) oder E5 (No) gezàhlt werden.

Empfiehlt der nàchste Kollege, der diese Datei aufruft, ebenfalls das
1. Hotel, müsste in Zelle C5 ein weiterer 'Klick' addiert werden.
Dieses System möchte ich dann für alle 11 Hotels mit den entsprechenen
Zellen unter 'results' anwenden.

Ferner gibt es einen Commandbutton 'cmdclear', über den die getroffene
Auswahl wieder gelöscht werden kann.

Für Euch Experten ist dies sicherlich eine einfache Frage, aber ich
habe leider nicht wirklich Informationen bislang gefunden, die mir bei
der Lösung meines Problems weitergeholfen haben.

Ein Highlight meiner Userform wàre sicherlich noch, dass ich ein
mehrmaliges Abstimmen der gleichen Person verhindern kann - aber das
kommt dann erst im nàchsten Step.

Es wàre prima, wenn Ihr Ideen für mich habt. Vielen Dank im Voraus.

Gruß
Martina
 

Lesen sie die antworten

#1 Andreas Killer
17/06/2009 - 12:33 | Warnen spam
On 17 Jun., 09:55, Martina Möhrke wrote:

In meiner Userform werden 11 Hotels aufgeführt, die jeweils empfohlen
oder nicht empfohlen werden sollen. Für jedes Hotel gibt es demnach 2
Optionbuttons - "Yes" und "No".


Dann brauchst Du 22 Optionbuttons (Yes / No für jedes Hotel) und
gruppieren musst Du sie auch alle noch, viel zu aufwendig.

Ich würde das mit einer Checkbox machen, ist ein Haken drin, dann ist
es empfohlen oder eben nicht.

Das Zàhlen ist aber dennoch identisch, Beispiel:

#Const UseCheckBox = 1

Private Sub CommandButton1_Click()
#If UseCheckBox Then
If CheckBox1 Then
#Else
If OptionButton1 Then
#End If
Range("C5") = Range("C5") + 1
Else
Range("E5") = Range("E5") + 1
End If
End Sub

Der Anwender sollte nun seine Entscheidung über die Optionsbuttons
treffen. Mit dem Commandbutton 'cmdok' sollen dann auf der
Registerkarte 'results' die getroffenen Entscheidungen bspw. für das
1. Hotel in Zelle C5 (Yes) oder E5 (No) gezàhlt werden.



Also dann darf das Zàhlen erst dann erfolgen wenn CmdOk geklickt wird
und (wichtig!) danach muss das vermerkt und gespeichert werden, sonst
kann jeder mehrfach auf den CmdOk draufklicken.

Nun muss ich mal vorgreifen: Das Rückgàngigmachen eine einmal
getroffenen Entscheidung (nach CmdOk) ist bei Deiner Zàhlweise
schlecht möglich, da der User ja ggf. die Empfehlungen àndern kann und
dann CmdClear klickt.

Empfiehlt der nàchste Kollege, der diese Datei aufruft, ebenfalls das
1. Hotel, müsste in Zelle C5 ein weiterer 'Klick' addiert werden.
Dieses System möchte ich dann für alle 11 Hotels mit den entsprechenen
Zellen unter 'results' anwenden.

Ferner gibt es einen Commandbutton 'cmdclear', über den die getroffene
Auswahl wieder gelöscht werden kann.


...
Ein Highlight meiner Userform wàre sicherlich noch, dass ich ein
mehrmaliges Abstimmen der gleichen Person verhindern kann - aber das
kommt dann erst im nàchsten Step.


Mein Vorschlag wàre das alles in einem Rutsch zu machen, aber leicht
abgewandelt:

In Deiner Auswertetabelle führst Du in Spalte A alle User, entweder
holst Du Dir den Namen über

Application.UserName / der Name in Excel
Environ("Username") / der Name aus der Windowsanmeldung
oder fragst ihn via Inputbox ab.

Wie auch immer, öffnet ein neuer User die Mappe, dann wird er in der
Spalte A eingetragen.
Rechts neben dem Namen speicherst Du seine Empfehlungen
Und die Auswertung machst Du zum Schluß mit einer Formel =SUMME
(B2:B5000) in Zeile 1

Dadurch kann jeder User auch noch spàter seine Meinung revidieren,
denn Du brauchst nur bei vorhandenem User seine Auswahl überschreiben
und kannst sie ihm sogar in die Userform laden.

Andreas.

Ähnliche fragen