Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verlosung, Zufallsgenerator

Forumthread: Verlosung, Zufallsgenerator

Verlosung, Zufallsgenerator
Gunnar
Sehr geehrter Herr Herber,
für eine Verlosung muss ich aus einem Datensatz:
A: Name und Vorname,
B: Straße,
C: PLZ,
D: Ort,
E: Tel. Nummer,
einen Gewinner auslosen. Über die Funktion: =ZUFALLSBEREICH(1;ANZAHL2(A2:A95)); und dem Tastendruck F9 habe ich dies bereits gelöst.
Per Zufall habe ich allerdings Ihre Datei 17866, einschl. dem entsprechenden Forumseintrag gefunden.
Diese Lösung ist natürlich viel ansprechender, da die Verlosung spannender wird. Ich habe nun versucht Ihre Datei, bzw. Programmierung auf meine Datei zu übertragen, was mir leider nicht gelang.
Ich würde mich freuen, wenn Sie mir mitteilen könnten, wie ich diese "Programmierung" (VBA ?, Message Box? etc.) in meine Datei einbauen kann und vor allem, was ich wo einstellen muss, um die Auswahl entsprechend zu erweitern.
Ich freue mich auf Ihre Antwort
Mit freundlichen Grüßen
Gunnar
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Verlosung, Zufallsgenerator
28.11.2011 09:09:36
Rudi
Hallo,
Hans wird dir wohl kaum antworten, da er nur sehr selten hier vertreten ist.
Wo ist die Datei zu finden (Link)? Dann kann man mal rein schauen.
Gruß
Rudi
AW: Verlosung, Zufallsgenerator
28.11.2011 12:01:34
Gunnar
Hallo Rudi,
Harry war schneller, der Link ist richtig.
Gruss
Gunnar
AW: Verlosung, Zufallsgenerator
28.11.2011 12:57:07
Rudi
Hallo,
Daten in Blatt 1
In ein Modul:
Option Explicit
Declare Sub Sleep Lib "Kernel32" (ByVal ms As Long)
Sub Makro1()
Dim Zufall As Integer, x As Integer, lCount As Long, arr
lCount = Application.CountA(Sheets(1).Columns(1)) - 1
For x = 1 To 50
Zufall = Int((lCount * Rnd) + 2)
arr = Sheets(1).Cells(Zufall, 1).Resize(, 5)
Range("B2").Resize(, 5) = arr
Sleep 200
Next
MsgBox Sheets(1).Cells(Zufall, 1)
Range("B2").Resize(, 5).ClearContents
End Sub
und aus Blatt 2 heraus starten.
Gruß
Rudi
Anzeige
AW: Verlosung, Zufallsgenerator
28.11.2011 14:20:50
Gunnar
Hallo Rudi,
das kommt der Sache schon ganz nah - Danke.
Ich versuche jetzt mal die Befehle und alles hier zu verstehen. Bei Fragen melde ich mich auf jedenfalls nochmal.
Kann man auch mit einem Kurzbefehl das Modul starten? Momentan gehe ich auf Blatt 2 und drücke ALT + F8 zum starten des Makro1.
Bin leider ab morgen für drei Tage auf Lehrgang. Falls ich mich heute nicht mehr melden, bedanke ich mich schon einmal vorab.
Gruss
Gunnar
Anzeige
AW: Verlosung, Zufallsgenerator
29.11.2011 06:27:58
Walter
Hallo Freunde,
Ich finde diese Art der Verlosung super. Frage kann man sie noch erweitern?
https://www.herber.de/bbs/user/77714.xls
Gruß
Walter
AW: Verlosung, Zufallsgenerator
29.11.2011 06:37:20
Walter
Guten Morgen Excel-Freunde
Kann man diese Datei noch erweitern?
https://www.herber.de/bbs/user/77715.xls
Möchte die jährliche Auslosung auf einer Leinwand darstellen.
Gruß
Rentner Walter
Anzeige
AW: Verlosung, Zufallsgenerator
29.11.2011 20:15:28
Rudi
Hallo,
sicher kann man.
Sub Makro1()
Dim Zufall As Integer, x As Integer, y As Integer
y = Application.CountA(Columns(1))
For x = 1 To 50
Zufall = Int((y * Rnd) + 1)
Cells(1, 3).Value = Cells(Zufall, 1)
Sleep 200
Next
'MsgBox Cells(Zufall, 1)
[g2] = Cells(Zufall, 1)
Cells(Zufall, 1).Delete xlUp
[c1] = ""
End Sub

Gruß
Rudi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Verlosung mit Excel: Zufallsgenerator für Auslosungen


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Erstelle eine Excel-Tabelle mit den Teilnehmerdaten. Die Spalten sollten mindestens Name, Straße, PLZ, Ort und Telefonnummer enthalten.

  2. Zufallsgenerator einrichten:

    • Öffne den VBA-Editor (ALT + F11).
    • Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").
    • Kopiere und füge den folgenden Code ein:
    Option Explicit
    Declare Sub Sleep Lib "Kernel32" (ByVal ms As Long)
    
    Sub Makro1()
       Dim Zufall As Integer, x As Integer, lCount As Long, arr
       lCount = Application.CountA(Sheets(1).Columns(1)) - 1
       For x = 1 To 50
           Zufall = Int((lCount * Rnd) + 2)
           arr = Sheets(1).Cells(Zufall, 1).Resize(, 5)
           Range("B2").Resize(, 5) = arr
           Sleep 200
       Next
       MsgBox Sheets(1).Cells(Zufall, 1)
       Range("B2").Resize(, 5).ClearContents
    End Sub
  3. Makro ausführen: Wechsle zurück zu Excel und drücke ALT + F8, um das Makro zu starten.

  4. Schnellzugriff einrichten: Um das Makro schneller zu starten, kannst Du eine Schaltfläche einfügen:

    • Gehe zu "Entwicklertools" > "Einfügen" und wähle "Schaltfläche (Formsteuerung)".
    • Zeichne die Schaltfläche auf das Arbeitsblatt und weise das Makro zu.

Häufige Fehler und Lösungen

  • Fehler: „Run-time error 9: Index out of range“

    • Lösung: Überprüfe, ob die Anzahl der Teilnehmer korrekt in den Zellen erfasst ist. Es sollte keine leeren Zellen in der Liste geben.
  • Fehler: „VBA-Projekt kann nicht geöffnet werden“

    • Lösung: Stelle sicher, dass die Excel-Datei im .xlsm Format gespeichert ist, damit Makros unterstützt werden.

Alternative Methoden

  • Zufallsgenerator mit Formeln: Du kannst auch die Excel-Funktion =ZUFALLSBEREICH() verwenden, um Zufallszahlen zu generieren. Zum Beispiel:

    =ZUFALLSBEREICH(1;ANZAHL(A2:A95))
  • Excel Tombola Vorlage: Es gibt viele vorgefertigte Excel-Vorlagen für Tombolas, die Du online herunterladen kannst. Suche nach „tombola excel download“ für eine einfache Lösung.


Praktische Beispiele

  • Gewinnspiel auslosen: Wenn Du ein Gewinnspiel auslosen möchtest, erstelle eine Liste mit Teilnehmernamen und verwende den oben genannten VBA-Code, um einen Gewinner zu ziehen.

  • Verlosungs-Generator: Du kannst eine Excel-Datei erstellen, die als Verlosungs-Generator dient und dabei verschiedene Teilnehmer aus einer Liste zieht.


Tipps für Profis

  • Erweiterungen: Du kannst den VBA-Code anpassen, um mehrere Gewinner gleichzeitig auszuwählen oder um die gezogenen Namen aus der Liste zu entfernen.

  • Visualisierung: Wenn Du die Auslosung spannender gestalten möchtest, kannst Du Animationen oder Soundeffekte in die VBA-Prozedur einfügen.


FAQ: Häufige Fragen

1. Kann ich mehrere Gewinner gleichzeitig auslosen?
Ja, Du kannst den VBA-Code anpassen, um mehrere Zufallszahlen zu generieren und daraus mehrere Gewinner zu ziehen.

2. Wie kann ich das Makro automatisieren?
Du kannst das Makro so einrichten, dass es bei bestimmten Ereignissen automatisch ausgeführt wird, z.B. beim Öffnen der Datei oder beim Ändern einer Zelle.

3. Gibt es eine Vorlage für den Zufallsgenerator in Excel?
Ja, Du kannst nach einer „zufallsgenerator excel vorlage“ suchen, um bereits vorgefertigte Lösungen zu finden.

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