Hallo,
ich habe folgendes Problem bei VBA.
Möchte ein Programm starten, wo ich per Knopfdruck aus einer Liste (D4 bis D26) eine zufällige Datenangbe ausgeben lasse. Wenn ich die Excelliste eine Woche später starte, dann soll aus dem selben Bereich wieder eine Datenangabe genommen werden. Diese zufällige Angabe, darf nicht wiederholt werden, so lange bis jede Angabe einmal da war und dann sollte es von vorn beginnen.
Ausgabe soll mittels einer MsgBox erfolgen.
Bisher hab ich so programmiert, aber ich komme einfach nicht weiter, da dies sowieso ziemlich ungünstig programmiert worde.
Dim Zufallszahl As Integer
' Erstellen einer Zufallszahl
Randomize -Timer
Zufallszahl = Int((23 * Rnd) + 1)
' Ausgabe des Wertes in einer Messagebox
If Zufallszahl = "1" Then MsgBox ActiveSheet.Range("d4") & " " & ActiveSheet.Range("e4")
If Zufallszahl = "2" Then MsgBox ActiveSheet.Range("d5") & " " & ActiveSheet.Range("e5")
If Zufallszahl = "3" Then MsgBox ActiveSheet.Range("d6") & " " & ActiveSheet.Range("e6")
If Zufallszahl = "4" Then MsgBox ActiveSheet.Range("d7") & " " & ActiveSheet.Range("e7")
If Zufallszahl = "5" Then MsgBox ActiveSheet.Range("d8") & " " & ActiveSheet.Range("e8")
If Zufallszahl = "6" Then MsgBox ActiveSheet.Range("e9") & " " & ActiveSheet.Range("e9")
If Zufallszahl = "7" Then MsgBox ActiveSheet.Range("d10") & " " & ActiveSheet.Range("e10")
If Zufallszahl = "8" Then MsgBox ActiveSheet.Range("d11") & " " & ActiveSheet.Range("e11")
If Zufallszahl = "9" Then MsgBox ActiveSheet.Range("d12") & " " & ActiveSheet.Range("e12")
If Zufallszahl = "10" Then MsgBox ActiveSheet.Range("d13") & " " & ActiveSheet.Range("e13")
If Zufallszahl = "11" Then MsgBox ActiveSheet.Range("d14") & " " & ActiveSheet.Range("e14")
If Zufallszahl = "12" Then MsgBox ActiveSheet.Range("d15") & " " & ActiveSheet.Range("e15")
If Zufallszahl = "13" Then MsgBox ActiveSheet.Range("d16") & " " & ActiveSheet.Range("e16")
If Zufallszahl = "14" Then MsgBox ActiveSheet.Range("d17") & " " & ActiveSheet.Range("e17")
If Zufallszahl = "15" Then MsgBox ActiveSheet.Range("d18") & " " & ActiveSheet.Range("e18")
If Zufallszahl = "16" Then MsgBox ActiveSheet.Range("d19") & " " & ActiveSheet.Range("e19")
If Zufallszahl = "17" Then MsgBox ActiveSheet.Range("d20") & " " & ActiveSheet.Range("e20")
If Zufallszahl = "18" Then MsgBox ActiveSheet.Range("d21") & " " & ActiveSheet.Range("e21")
If Zufallszahl = "19" Then MsgBox ActiveSheet.Range("d22") & " " & ActiveSheet.Range("e22")
If Zufallszahl = "20" Then MsgBox ActiveSheet.Range("d23") & " " & ActiveSheet.Range("e23")
If Zufallszahl = "21" Then MsgBox ActiveSheet.Range("d24") & " " & ActiveSheet.Range("e24")
If Zufallszahl = "22" Then MsgBox ActiveSheet.Range("d25") & " " & ActiveSheet.Range("e25")
If Zufallszahl = "23" Then MsgBox ActiveSheet.Range("d26") & " " & ActiveSheet.Range("e26")
Wäre gut wenn mir jemand helfen könnte. |