# VBA, Checkbox, Anzahl



## star1990 (25. Februar 2010)

Hallo,

ich habe eine kleine Fragen.

Ich habe in VBA einen Lottoschein erstellt, den ich mit Checkboxen von 1 - 49 gefüllt habe.
Wie mache ich das, dass ich nur 6 Checkboxen anklicken kann und diese Zahlen (z.B. 1, 6, 7, 9, 24, 34), ausgegeben werden?

Mit freundlichen Grüßen, Star1990


----------



## tombe (25. Februar 2010)

Also ich war jetzt gerade in Access unterwegs. Hier gibt es beim Kontrollkästchen die Eigenschaft "Marke". Dieser Eigenschaft kann ein beliebiger Wert (in deinem Fall die entsprechende Zahl für die das Kästchen steht) zugewiesen werden.

Dann kannst du bei der onClick Prozedur alle Kontrollkästchen abfragen ob sie markiert sind oder nicht. Das zählst du dann zusammen und weißt ob noch ein weiteres markiert werden darf oder nicht.


----------



## star1990 (26. Februar 2010)

Das verstehe ich nicht ganz, muss ich bei der onClick Prozedur immer den Wert  "1" eintragen und bei Caption den Wert z..B. 5?
Ich weiß auch nicht, wie ich das als Code schreiben soll, das der die zusammen rechnet und sich den Wert "5" merkt.


----------



## tombe (26. Februar 2010)

Ist ein bisschen schwer dir zu helfen, da ich nicht weiß wo du diesen Lottoschein erstellst.
Aber generell sollat du in der onClick Prozedur prüfen wie viele Checkboxen bereits markiert sind und wenn die maximale Anzahl noch nicht erreicht ist, dann kannst du die Checkbox die gerade angeklickt wurde auch markieren.


----------



## star1990 (27. Februar 2010)

In VBA - Userform habe ich den Lottoschein erstellt.

Hättest du evtl. ein Code, an dem ich rumbasteln könnte? Weil ich habe keine Vorstellung, wie der Code aussehen könnte, bzw. wie die Codierung ist.


----------



## Drogist (27. Februar 2010)

Moin star1990,

VBA gibt es in den verschiedensten Programmen. Und auch UserForms kannst du darin verwenden. Und ich denke, dass die Nachfragen von tombe in genau die Richtung gehen.

Hast du deine UserForm in Word oder Access oder Outlook oder sonst einem MS-Programm erstellt, das nicht Excel heißt, dann nimm das, was ich gebastelt habe, einfach einmal als Anregung.

In Excel funktioniert das so, wie ich es als Anhang hinterlegt habe. Einschränkung: Markieren kannst du alle Felder, reagieren wird das Programm (zur Zeit) nur auf die Zahlen 1 bis 10. Aber es ist ja wohl kein Problem, die restlichen 39 SUBs zu kopieren und anzupassen.


----------



## star1990 (3. März 2010)

Hey, danke für die Antwort und die Datei, aber diese kann ich nicht anwenden in VBA-EXCEL.
Da kommen nur komische Zeichen.


----------



## Drogist (3. März 2010)

star1990 hat gesagt.:


> aber diese kann ich nicht anwenden in VBA-EXCEL. Da kommen nur komische Zeichen.


Hmmm, kann ich nicht nachvollziehen. Aber vielleicht habe ich deine VBA-Vorkenntnisse auch überschätzt.
Ich habe jetzt noch einmal eine Datei (Lottozahlen2.zip) hoch geladen, mit einem Auslöser (Button). Da musst du erst einmal den Effekt sehen und dann mit Alt-F11 in den Code reinsehen. 

Und ich habe es eben noch einmal nachgesehen, es klappt einwandfrei!


----------



## star1990 (4. März 2010)

Ich versteh das nicht.

In Excel schalte ich zuerst die Makros aus, dann schließe ich das Programm und öffne deine Datei mit Excel, dort erscheinen aber nur irgendwelche Zeichen, wenn ich VBA-EXCEL öffne und dann deine Datei öffne, kommen auch nur komische Zeichen, da erscheint nirgends ein Button (Excel und VBA).

Wie kann ich die Datei öffnen, sodass alles angezeigt wird?

Ich bin Anfänger, ich darf das


----------



## tombe (4. März 2010)

Ok, fangen wir nochmal ganz von vorne an.

1) Welche Excel Version verwendest du Das könnte nämlich das Problem sein warum du die Datei von Drogist nicht öffnen/verwenden kannst.

2) Wo bzw. wie hast du den "Lottoschein" erstellt. Hast du in die Excel Tabelle einfach die Steuerelemente gesetzt oder hast du eine UserForm dafür erstellt

3) Stell doch mal deine Datei hier rein, dann kann man die entsprechend anpassen und es muss nicht jeder eine neue erstellen.

Gruß Thomas


----------



## star1990 (4. März 2010)

Ich verwende in EXCEL-VBA (Version 2003) die UserForm.

Hier ist die Datei, wäre super, wenn du damit was anfangen kannst =)


----------



## tombe (4. März 2010)

Tut mir leid ich habe hier Excel bzw. Office 2000.
Versuche aber mal ob du die Datei nicht beim Speichern in diesem Format speichern kannst, das müsste gehen!!


----------



## star1990 (4. März 2010)

ja dann muss ich das morgen machen, weil ich habe das nur auf dem Schul-PC :suspekt:

aber schonmal danke für die hilfe =)


----------



## Drogist (4. März 2010)

Also star1990,

ich denke mal, dass der Code in der Datei nicht unbedingt von dir kommt, denn sonst würdest du mit meiner Datei durchaus etwas anfangen können.

Ich frage mich allerdings: Wi rufst du denn die UserForm auf? Schließlich startet diese Mappe auch mit drei leeren Arbeitsblättern.

Und ach ja, ich arbeite auch mit der Version 2003 des Excel. 

... und jetzt noch einige Sachen, die ich nicht verstehe ...


> In Excel schalte ich zuerst die Makros aus,


Aha. Und warum das? Schließlich sollen doch Makros ausgeführt werden.


> dann schließe ich das Programm und öffne deine Datei mit Excel


Ja, so weit, so gut. Besser wäre es, wenn du Excel vorher ausschaltest und ganz normal startest


> , dort erscheinen aber nur irgendwelche Zeichen, wenn ich VBA-EXCEL öffne und dann deine Datei öffne, kommen auch nur komische Zeichen, da erscheint nirgends ein Button (Excel und VBA).


? Wenn du die neue Datei öffnest, siehst du einen Button, eine Schaltfläche. (siehe Screenshot). Ein Klick darauf und meine Lotto-Version wird gestartet. Du siehst dann die UserForm, wie im 2. Screenshot zu sehen. Danach kommst du mit Alt-F11 in den Editier-Modus des VBA-Moduls.

Wenn ich aber diene Zeilen so lese, dann frage ich mich, was du anders machst als ich (und wahrscheinlich viele andere auch). Und ich zitiere noch einmal aus dem Zitat oben: "wenn ich VBA-EXCEL öffne und dann deine Datei öffne ..." Bitte was? Du sollst entweder Excel starten und dann meine entpackte Datei öffnen oder auf der Lottozahlen2.xls einen Doppelklick ausführen. Der Rest siehe oben. Und vielleicht zur besseren Verständigung: Es gibt kein "VBA-Excel", es gibt die Office-Anwendung Excel und dort kannst du den VBA-Editor öffnen oder dorthin wechseln. So wissen ALLE Leser, was du meinst .


----------



## Drogist (4. März 2010)

Also star1990,

ich denke mal, dass der Code in der Datei nicht unbedingt von dir kommt, denn sonst würdest du mit meiner Datei durchaus etwas anfangen können.

Ich frage mich allerdings: Wi rufst du denn die UserForm auf? Schließlich startet diese Mappe auch mit drei leeren Arbeitsblättern.

Und ach ja, ich arbeite auch mit der Version 2003 des Excel. 

... und jetzt noch einige Sachen, die ich nicht verstehe ...


> In Excel schalte ich zuerst die Makros aus,


Aha. Und warum das? Schließlich sollen doch Makros ausgeführt werden.


> dann schließe ich das Programm und öffne deine Datei mit Excel


Ja, so weit, so gut. Besser wäre es, wenn du Excel vorher ausschaltest und ganz normal startest


> , dort erscheinen aber nur irgendwelche Zeichen, wenn ich VBA-EXCEL öffne und dann deine Datei öffne, kommen auch nur komische Zeichen, da erscheint nirgends ein Button (Excel und VBA).


? Wenn du die neue Datei öffnest, siehst du einen Button, eine Schaltfläche. (siehe Screenshot). Ein Klick darauf und meine Lotto-Version wird gestartet. Du siehst dann die UserForm, wie im 2. Screenshot zu sehen. Danach kommst du mit Alt-F11 in den Editier-Modus des VBA-Moduls.

Wenn ich aber diene Zeilen so lese, dann frage ich mich, was du anders machst als ich (und wahrscheinlich viele andere auch). Und ich zitiere noch einmal aus dem Zitat oben: "wenn ich VBA-EXCEL öffne und dann deine Datei öffne ..." Bitte was? Du sollst entweder Excel starten und dann meine entpackte Datei öffnen oder auf der Lottozahlen2.xls einen Doppelklick ausführen. Der Rest siehe oben. Und vielleicht zur besseren Verständigung: Es gibt kein "VBA-Excel", es gibt die Office-Anwendung Excel und dort kannst du den VBA-Editor öffnen oder dorthin wechseln. So wissen ALLE leser, was du meinst.


----------



## star1990 (5. März 2010)

Hey ho,

oh, dann hab ich mich etwas unklar ausgedrückt 

Ich habe in Excel nicht die Makros ausgestellt, sondern nur die Makrosicherheit auf "niedrig" gestellt.

Wenn ich deine Datei wie gewohnt öffne per Doppelklick, dann erscheint eine Fehlermeldung in Excel:







Wir haben das mit den Checkboxen noch nicht in der Schule gemacht und wir machen ja ein kleines Projekt und das möchte ich mit denen machen 
Und wenn ich das mit den Checkboxen weglasse und was andere nehme, dann bekommen wir auch eine dementsprechende Note :-(


----------



## Drogist (5. März 2010)

@ tombe:

kannst du das bestätigen? Bei mir läuft das auf mehreren Rechnern einwandfrei ... (Das sollte auch auf 2k2 laufen).


star1990 hat gesagt.:


> Wenn ich deine Datei wie gewohnt öffne per Doppelklick, dann erscheint eine Fehlermeldung in Excel:


----------



## star1990 (6. März 2010)

AAAAAAAAAAAah, mit Office 2000 klappt es, vielen dank =)
genau so ist das richtiiiig =)
cool danke =)

ich habe jetzt alles in meine Datei kopiert und alles umgeändert, nur wenn ich das ausführe und ein Kästchen anklicke kommt immer ein Fehler "Objekt wird nicht untersützt" und es wird "  Anzahl = Anzahl - Feld1.Controls(i).Value" gelb angezeigt.
was ist daran falsch?
jetzt muss ich nur noch wissen, wie ich die zahlen mit meinen zufallszahlen vergleichen kann.


----------

