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.

Excel Makro zufällige Auswahl aus einer Liste
#1
Hallo!

Ich möchte gern aus eine Liste (A1:A10 oder mehr) eine zufällige Auswahl in A2 ausgeben mit einem Makro.

Ohne Makro sieht das Folgendermaßen (in A2) aus: =INDEX($A$1:$A$10;ZUFALLSBEREICH(1;10))

Kann mir Jemand dafür ein Makro geben??

Die Liste A kann aber auch mehr als 10 Einträge haben bzw. ständig erweitert werden. Letztendlich soll aber zufällig ein Wert aus dieser Liste (A) ausgewälht und ausgegeben werden. In A stehen Zahlen drin.

Danke
Antworten Top
#2
Hallo, :19:

eventuell so: :21:

.xlsb   Zufallsausgabe_EVALUATE.xlsb (Größe: 16,2 KB / Downloads: 8)
________
Servus
Case
Antworten Top
#3
Vielen Dank für die schnelle Antwort.

Kannst Du mir auch noch eine Variante schicken, wo ich aus einer festen Liste / Tabelle (z.B. A1 : A10) eine zufällige Auswahll in eine andere Zelle schreiben lassen kann?

Das natürlich per Makro.

Und wie kann ich diese Makro-Formel mit bereits anderen Berechnungen bzw. Anweisungen (durch das Klicken auf meinen Button werden bereits einige Anweisungen wie Löschen von Eintragungen ausgeführt usw.) verbinden?

Danke
Antworten Top
#4
(06.06.2020, 13:23)Redgeier schrieb: Ohne Makro sieht das Folgendermaßen (in A2) aus: =INDEX($A$1:$A$10;ZUFALLSBEREICH(1;10))

Moin!
Es ist nicht verboten, in VBA (A für Application) die Möglichkeiten, die Dir Excel gibt, zu nutzen.

PHP-Code:
Cells(1,"L") = Cells(WorksheetFunction.RandBetween(110), "A"

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) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Case
Antworten Top
#5
Hallo, :19:

schau es dir in der Beispieldatei an: :21:

.xlsb   Zufallsausgabe_EVALUATE_1.xlsb (Größe: 16,57 KB / Downloads: 7)
________
Servus
Case
Antworten Top
#6
Und wie kann ich ....

Public Sub Main_1()
    With Tabelle1
        .Range("A2").Value = .Evaluate("=INDEX($A$1:$A$10,RANDBETWEEN(1,10))")
    End With
End Sub


in mein bestehendes Makro richtig einfügen???

Bei mir kommt eine Fehlermeldung

Hier mein Makro:


CommandButton1_Click()
Dim Bereich As Range
Dim zelle As Range

    Set Bereich = Range("B6:B15")
   
    For Each zelle In Bereich
        zelle.Value = Int((10 * Rnd) + 1)
    Next zelle
     
 
Sheets("Zufall").Range("F6:F15").ClearContents
Sheets("Zufall").Range("N6:N15").ClearContents


End Sub

In A1 : A10 sind meine Daten und in B2 soll dann zufällig 1 Info aus A1:A10 eingeschrieben werden.

1 Makro-Button möchte ich jedoch für alles nur verwenden.

Danke
Antworten Top
#7
Hallo, :19:

schreibe doch einfach am Ende deines Makros (vor End Sub): :21:

Code:
Call Main_1

Und statt...

Code:
.Range("A2").Value

Dann...

Code:
.Range("B1").Value

Oder in welcher Zelle du das auch immer ausgeben willst (du hast immer von A2 geschrieben). :21:
________
Servus
Case
Antworten Top
#8
Hallo noch einmal,

richtig funktioniert es bei mir noch nicht.

Ich schicke mal meine Datei mit.

Ich wollte gern eine Excel-Datei für meinen Sohn, damit er das 1x1 lernt.

Ohne das neue im Makro:

Public Sub Main_1()
With Zufall
        .Range("T7").Value = .Evaluate("=INDEX($T$12:$T$15,RANDBETWEEN(1,4))")
    End With

End Sub


Werden die Aufgaben per Klick neu erstellt. Nun wollte ich aber, dass nur bestimmte Malfolgen (wie z.B. 1,2,5 u. 10 -> siehe Liste (T12:T15)) zufällig erstellt werden. Deswegen meine Hilfstabelle.

Vielleicht gibts ja auch eine andere Möglichkeit.

Jedenfalls sollen in B6:B15 und J6:J15 die Zahlen 1-10 rein und in D6:D15 und L6:L15 erstmal nur die Zahlen 1,2,5 oder 10.

Danke


Angehängte Dateien
.xls   Test 1x1.xls (Größe: 47 KB / Downloads: 3)
Antworten Top


Gehe zu:


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