Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zufallsgenerator zum Lernen
#1
Hallo ihr Lieben,

ich würde gerne über Excel ein Zufallsgenerator fürs "Lernen" erstellen. Insgesamt habe ich 40 Arbeitsblätter, auf denen jeweils eine Karteikarte drauf ist. Per CommandButton möchte ich gerne per Zufall auf eine der 40 Arbeitsblätter (= Karteikarte) kommen. Diesen CommandButton würde ich gerne auf allen Arbeitsblättern (=Karteikarten) haben, damit ich ohne viel Aufwand zur nächsten Karteikarte komme. Ziel ist also das zufällige Lernen von Karteikarten in Excel. Ich hoffe das ich mich verständlich ausdrücke :) 

Leider weiß ich nicht genau, wie ich das machen könnte. da ich keine Erfahrung mit VBA habe. Hat jemand eventuell eine Idee, wie man das Umsetzen könnte? Ich würde mich sehr darüber freuen :)

Vielen lieben Dank und Grüße,

Korbi
Antworten Top
#2
Hallo Korbi.

Du brauchst dafür eine simples VBA Makro:

           Option Explicit
           Sub Zufallszahl()
           Range("Z999").Formula = "=RANDBETWEEN(1,40)"
           MsgBox "Tabelle" & Range("Z999")
           End Sub

Es benutzt dafür als Zwischenspeicher die Zelle Z999 in der Erwartung, dass Du die noch nicht benutzt und so nichts zerstört wird. 

Jetzt brauchst Du in jeder Tabelle eine Schaltfläche zum Starten des Makro. Es liefert Dir eine der zufällig ausgewählten Tabellen 1 bis 40. Wenn zufällig die gleiche tabelle geliefert wird, musst Du es weiderholen ..

In einem leeren Beispiel habe ich das mal für die ersten beiden Tabelle in Spalte O umgesetzt. Wenn Du noch gar keine Ahnung von VBA hast, darfst Du mir Dein Tabellenblatt zuschicken und ich baue es dort ein.

Die Lösung ist erst mal sehrt simpel um zu sehen, ob die Lösung in etwa Deinen Erwartungen entspricht. 

LG Peter


Angehängte Dateien
.xlsm   160-Forum 2019.01.07 Arbeitsblatt per Zufall.xlsm (Größe: 27,05 KB / Downloads: 2)
[-] Folgende(r) 1 Nutzer sagt Danke an PAndersen für diesen Beitrag:
  • Korbi35
Antworten Top
#3
Hallo,

dafür brauchst du weder 40 Blätter, noch VBA ...

In Spalte A die Fragen von A1 bis A40 ... in Spalte B die Antworten von B1 bis B40. Die Spalten A und B ausblenden.

Formel in E2: =ZUFALLSBEREICH(A1;A40)

Formel in G2: =INDEX(A1:A40;E2;1)
Formel in G4: =INDEX(A1:A40;E2;2)

G4 mit der Schriftfarbe des Hintergrundes formatieren.

in G6 ein DropDown aus Daten --> Datenüberprüfung --> in Zulassen: -> Liste --> in Quelle: -> =G4

Eine neue Frage wird mit der F9-Taste angezeigt.
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
[-] Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:
  • Korbi35
Antworten Top
#4
@PAnderson,

das ist schon so ähnlich wie ich es haben möchte :) Vielen Dank. Eine Kleinigkeit fehlt mir jedoch noch: ich würde es gerne so wollen, dass ich automatisch auf dem Arbeitsblatt lande und nicht, dass mir Excel sagt, auf welches Arbeitsblatt ich gehen soll. Kriegst du das irgendwie hin oder hast ein Tipp? :)


@Flotter Feger:

auch dir vielen Dank :) Auch eine elegante Lösung. Danke
Antworten Top
#5
@PAndersen:
Ohne Würdigung, ob der Dateiaufbau sinnvoll ist: Ich würde hier nicht den Umweg über eine Zelle gehen, sondern die Zufallszahl direkt ermitteln und verwenden:
Code:
Sub TabellePerZufall()
    'Wenn die ersten 40 Tabellen in der Datei die Aufgaben enthalten:
    Sheets(WorksheetFunction.RandBetween(1, 40)).Activate
End Sub
Ich würde auf keinen Fall auf jedes Blatt einen Button setzten. Ich würde es eher in ein Menüband integrieren oder einer Tastenkombination zuweisen (z.B. OnKey bei Workbook_Open).
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Korbi35
Antworten Top
#6
Hallo zusammen,

in meinem Post oben, hat sich natürlich wieder mal ein Schreibfehler eingeschlichen ... zefix ...

Es muss natürlich heißen:

Formel in E2: =ZUFALLSBEREICH(1;40) ... oder Formel in E2: =ZUFALLSBEREICH(ZEILE(A1);ZEILE(A40))
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
[-] Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:
  • Korbi35
Antworten Top
#7
Moin!
Da ich davon ausgehe, dass einem Lernwilligen 40 "Karteikarten" aka Tabellenblätter irgendwann zu wenig sind und man nicht immer den Code ändern will …
Aufbauend auf Steuerfuzzis Code dann halt:
Code:
Worksheets(WorksheetFunction.RandBetween(1, Worksheets.Count)).Activate

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 2 Nutzer sagen Danke an RPP63 für diesen Beitrag:
  • Der Steuerfuzzi, Korbi35
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste