Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA (EXCEL MAKRO) Lottoprogramm

Forumthread: VBA (EXCEL MAKRO) Lottoprogramm

VBA (EXCEL MAKRO) Lottoprogramm
05.05.2003 13:21:32
fh bochum
Hallo Computerfreaks!
Versuchen ein Lotto Programm in Excel makro zu programmieren jédoch klappt es nicht ganz!
unten seht ihr das programm

wir wollen 6 zahlen vom user eingeben lassen und sie dann mit den zufallszahlen vergleichen lassen!

habt ihr tipps oder schon ein fertiges programm??
vielen dank
bis dann
fh bochum
Option Explicit

Sub lottozahlen()
Dim glückszahl1 As Integer
Dim glückszahl2 As Integer
Dim glückszahl3 As Integer
Dim glückszahl4 As Integer
Dim glückszahl5 As Integer
Dim glückszahl6 As Integer
Dim zahlen(6) As Integer
Dim zahl As Integer
Dim i As Integer
Dim c As Integer

glückszahl1 = InputBox("Bitte geben Sie Ihre erste Glückszahl zwischen 0 und 49 ein")
glückszahl2 = InputBox("Bitte geben Sie Ihre zweite Glückszahl zwischen 0 und 49 ein")
glückszahl3 = InputBox("Bitte geben Sie Ihre dritte Glückszahl zwischen 0 und 49 ein")
glückszahl4 = InputBox("Bitte geben Sie Ihre vierte Glückszahl zwischen 0 und 49 ein")
glückszahl5 = InputBox("Bitte geben Sie Ihre fünfte Glückszahl zwischen 0 und 49 ein")
glückszahl6 = InputBox("Bitte geben Sie Ihre sechste Glückszahl zwischen 0 und 49 ein")

MsgBox ("Die gesuchten Zahl waren: " & zahlen(6))
If glückszahl1 = zahlen(6) Then
MsgBox ("Sie haben einen richtigen! ")

nochmal:
zahl = Int(49 * Rnd()) + 1
For c = 1 To 6
If zahl = zahlen(c) Then GoTo nochmal

Next c
zahlen(i) = zahl
For c = 1 To 6

Next i
For i = 1 To 6
Cells(i, 1) = zahlen(i)


End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lottoprogramm warum VBA
05.05.2003 14:58:30
WF

Hi,

folgende winzige Array-Formeln:

Tip und Ziehung stehen in 2 Spalten:
{=SUMME(ZÄHLENWENN(B1:B6;A1:A6))}

Tip und Ziehung stehen in einer Zeile und in einer Spalte:
{=SUMME((A3:A8=A1:F1)*1)}

ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.

trapp, trapp, trapp, trapp, trapp, brrrrr
WF

= Formel Nr. 329 (Statistik) auf
http://www.excelformeln.de/
die ultimative Formelseite

Anzeige
VBA (EXCEL MAKRO) Lottoprogramm
05.05.2003 16:20:56
jolly

Hallo DU,
jetzt weiss ich nicht, ob ich nur Tipps geben soll oder den ganzen Code. Hier ein paar grundlegende Denkfehler in der Funktionalität.
1. Eingabe 0 möglich
2. doppelte Eingaben möglich
3. Ziehung doppelter Zahlen möglich (wenn auch unwahrscheinlich)
4. Überprüfung beider Zahlenreihen vor Ziehung der Zahlen
5. und nach der Ziehung habe ich dann nichts verstanden.

Gruss
jol-ly

Anzeige
Re: VBA (EXCEL MAKRO) Lottoprogramm
07.05.2003 21:49:19
fh bochum

hi jol-ly
danke für das programm. ich möchte nicht unverschämt sein aber irgendwie muss ich da noch wahrscheinlichkeiten reinbringen.
also irgendwie das angegeben wird wie hoch die wahrscheinlichkeit war 1, 2, 3, ....richtige zu bekommen.
und dann soll eben angegeben werden je nach dem wieviele richtige man hat wie hoch die wahrscheinlichkeit dafür war!

´hast du eine ahnung. man du würdest uns echt aus der patsche helfen! nochmal vielen vielen dank!

fh bochum students

Anzeige
;
Anzeige

Infobox / Tutorial

Lottoprogramm in Excel mit VBA erstellen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Option Explicit
    
    Sub lottozahlen()
       Dim glückszahl(1 To 6) As Integer
       Dim zahlen(1 To 6) As Integer
       Dim zahl As Integer
       Dim i As Integer
       Dim c As Integer
    
       ' Eingabe der Glückszahlen
       For i = 1 To 6
           glückszahl(i) = InputBox("Bitte geben Sie Ihre Glückszahl " & i & " zwischen 1 und 49 ein")
       Next i
    
       ' Ziehung der Lottozahlen
       For c = 1 To 6
           Do
               zahl = Int(49 * Rnd()) + 1
           Loop While IsInArray(zahl, zahlen)
           zahlen(c) = zahl
           Cells(c, 1) = zahlen(c)
       Next c
    
       MsgBox ("Die gezogenen Zahlen sind: " & Join(zahlen, ", "))
       MsgBox ("Ihre Glückszahlen: " & Join(glückszahl, ", "))
    End Sub
    
    Function IsInArray(val As Variant, arr As Variant) As Boolean
       Dim i As Integer
       IsInArray = False
       For i = LBound(arr) To UBound(arr)
           If arr(i) = val Then
               IsInArray = True
               Exit Function
           End If
       Next i
    End Function
  4. Speichere die Datei als Makro-fähige Datei (.xlsm).

  5. Führe das Makro aus: Gehe zurück zu Excel, drücke ALT + F8, wähle lottozahlen und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass die Eingabewerte in der InputBox in den Bereich von 1 bis 49 fallen.
  • Fehler: Doppelte Zahlen werden gezogen

    • Lösung: Nutze die Funktion IsInArray im Code, um zu prüfen, ob die Zahl bereits gezogen wurde.
  • Fehler: Der Code führt zu einer Endlosschleife

    • Lösung: Überprüfe, ob die Anzahl der Ziehungen korrekt implementiert ist und dass die Schleife für die Ziehung der Zahlen richtig funktioniert.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch eine Excel-Formel nutzen, um Lottozahlen zu simulieren. Eine einfache Möglichkeit ist die Verwendung der Funktion ZUFALLSBEREICH. Hier ein Beispiel:

=ZUFALLSBEREICH(1;49)

Du kannst dies in mehrere Zellen eingeben, um zufällige Lottozahlen zu generieren.


Praktische Beispiele

  • Lottozahlen archivieren: Du kannst eine Lottozahlen Archiv Tabelle erstellen, in der du die gezogenen Zahlen speicherst. Füge eine neue Tabelle hinzu und verwende die Namen der Ziehungen als Kopfzeilen.

  • Wahrscheinlichkeit berechnen: Berechne die Wahrscheinlichkeit, wie oft bestimmte Zahlen gezogen wurden, indem du die ZÄHLENWENN-Funktion verwendest. Zum Beispiel:

    =ZÄHLENWENN(Bereich; Zahl)

Tipps für Profis

  • Benutze eine lotto excel Vorlage**, um dein Lottoprogramm zu optimieren.
  • Experimentiere mit der Application.Volatile-Funktion, um sicherzustellen, dass deine Zufallszahlen bei jeder Berechnung aktualisiert werden.
  • Implementiere erweiterte Statistiken, wie zum Beispiel die Analyse der häufigsten Zahlen in deinem Lottozahlen Archiv.

FAQ: Häufige Fragen

1. Kann ich das Lottoprogramm in älteren Excel-Versionen verwenden? Ja, das Makro sollte in Excel 2007 und späteren Versionen ohne Probleme funktionieren.

2. Wie kann ich sicherstellen, dass die Eingaben des Nutzers gültig sind? Du kannst die Eingaben vor der Zuweisung in die Variablen mit einer zusätzlichen If-Bedingung überprüfen.

3. Gibt es eine Möglichkeit, die Wahrscheinlichkeit für richtige Zahlen anzuzeigen? Ja, indem du die Anzahl der Übereinstimmungen zählst und die Gesamtzahl der möglichen Kombinationen berücksichtigst, kannst du die Wahrscheinlichkeit berechnen und anzeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige