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
Top
#2
Hallo, :19:

eventuell so: :21:
[attachment=32208]
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
Top
#4
(06.06.2020, 14: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:
  •
Top
#5
Hallo, :19:

schau es dir in der Beispieldatei an: :21:
[attachment=32217]
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
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:
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)
Top


Gehe zu:


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