Office: (Office 2007) Zufallsbereich ohne doppelte Einträge

Helfe beim Thema Zufallsbereich ohne doppelte Einträge in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallochen Ich muss monatlich aus einem Zahlenbereich von 1 bis z.B. 2000 20 Zufallszahlen "ziehen". Der Bis Bereich kann leicht variieren, Variation... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von habibi246, 8. April 2014.

  1. Zufallsbereich ohne doppelte Einträge


    Hallochen

    Ich muss monatlich aus einem Zahlenbereich von 1 bis z.B. 2000 20 Zufallszahlen "ziehen". Der Bis Bereich kann leicht variieren, Variation von ca. 1800 bis 2100, aber das dürfte ja nicht das Problem sein.

    Problem ist dass in der Zufallsziehung leider immer auch mal doppelte Zahlen dabei sind.

    Welche Möglichkeiten gibt es für die Funktion Zufallsbereich(...) sicher zu gehen dass keine doppelten Werte enthalten sind?

    Vielen vielen Dank

    :)
     
    habibi246, 8. April 2014
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
  3. Hallo Hajo

    vielen lieben Dank. Das kenne ich schon. Ich brauche aber eine Lösung für den Zufallsbereich, am besten vielleicht mit VBA CODE etc.

    Danke
     
    habibi246, 9. April 2014
    #3
  4. Zufallsbereich ohne doppelte Einträge

    Hallo habibi246, Code:
     
    Hasso, 9. April 2014
    #4
  5. Hallo Hasso

    vielen Dank!! Das ist ja der Hammer genauso etwas habe ich gesucht, aber...

    Ich bräuchte noch ein paar Tipps bzw. noch eine Erweiterung von Dir wenn es Dir nix ausmacht.

    Ich habe über den Entwurfsmodus gesehen dass Du diesen Button eingebettet hast. Was ich aber nicht finde, an welcher Stelle hast Du hinterlegt dass sich dein code auf die Zellen B1 bis B20 auswirkt?

    Ich würde den Endwert der meist um die 2000 rum liegt, gerne immer auf dem Tabellenblatt eintragen z.b. auf Zelle G1 damit hier der konkrete Wert z.b. 1895 oder 1945 jeweils abgegriffen werden kann.

    Letzte Frage: Ist folgendes noch möglich: Zu Beginn der Aktion sollen die Zellen C1 bis C20 mit Nullen gefüllt werden/sein. Durch Drücken des Buttons Ziehung sollen die Zellen C1 bis C20 mit den B1-b20 Werten gefüllt sein, weil ich diese Werte aus C1 bis C20 noch weiterverarbeiten muss. Ich muss die einzelnen Werte in einer anderen Zelle miteinander verketten in der Form =Verketten(C1;";";C2;";".....)

    vielen vielen Dank!!!
     
    habibi246, 10. April 2014
    #5
  6. Hallo Hasso habe noch etwas vergessen.

    Die C1 bis C20 Werte sollen natürlich nur dann mit den B1-B20 Werten gefüllt werden wenn sich keine doppelten Werte in B1 - B20 befinden.

    DANKE
     
    habibi246, 10. April 2014
    #6
  7. Hallo habibi246,
    hier: Code:
    Kann man auch so schreiben: Code:
    Ich habe den Code jetzt mal nach deinen Vorgaben angepasst: Code:
     
  8. Zufallsbereich ohne doppelte Einträge

    Hallo Hasso

    nochmals vielen herzlichen Dank. Das hilft mir sehr weiter. Habe aber leider noch ein Problem. Beim erstmaligen Öffnen Deiner ARbeitsmappe steht auf den Zellen C1 bis C20 jeweils die 0 drinnen.

    Wenn ich die Ziehung durchführe klappt alles wunderbar. Ich speichere dann die Arbeitsmappe und schließe diese. Beim erneuten Öffnen werden aber die Zellen C1 bis C20 nicht auf 0 gesetzt. /Anmerkung Die Makros sind aktiviert/

    Muss hier statt Workbook Activate noch irgeneine andere Sub mit rein? Wenn ich den Befehlscode im VBA Editor mit einer Haltemarke versehe und F8 drücke dann werden die Zellen mit 0 gefüllt.

    Wäre super wenn Du da nochmals drüberschauen könntest!

    Vielen Dank!!!
     
    habibi246, 10. April 2014
    #8
  9. Hallo habibi246,

    pack das erste Makro ins Workbook_Open-Ereignis. Code:
     
  10. Hallo Hasso

    vielen vielen Dank nochmals für Deine Lösung. Auch vielen dank für das Anhängen der EXCEL Mappe nun funktioniert alles super, habe die Restverarbeitung auch auf VBA Code umgestellt und kann mir damit auch die Spalte C etc. alles sparen und habe keine Fehlermeldungen von Formeln die auf die Zufallszahlen aufbauen.

    Eine FRAGE NOCH ZUGUTER LETZT:

    Warum zählst Du bei der Formel Int(Range("G1").Value * Rnd + 1)
    die 1 dazu, dass du damit auch auf die höchste Zahl theoretisch kommen könntest? Könnte es im ungünstigsten Fall passieren dass ich z.B. bei einer Seitenangabe von 1875 Seiten eine Zufallszahl erhalte die 1876 heißt?

    Vielen vielen Dank nochmals!!!!
     
    habibi246, 10. April 2014
    #10
  11. Hallo Hasso,
    hallo miteinander,

    Ich bin neu hier im Forum und hoffe ich habe meine Frage im richtigen Bereich eingestellt. Wenn nicht, sorry und bitte um Hinweis.

    Wie in dem Beispiel von Hasso sollen auch bei mir Zufallszahlen erzeugt werden und im Fall eines doppelten Wertes eine Message Box angezeigt werden, die den doppelten Wert angezeigt und nach Klick auf OK, sofort neue Zufallszahlen erzeugt. Ich hatte versucht diesen Code auf meine Anforderungen zu ändern, schaffe es aber aufgrund fehlender Programmierkenntnisse nicht. Daher meine Bitte um Unterstützung.

    In meiner Excel Datei werden in der Spalte A, je nach Anforderung, zwischen 15 und 200 IDs (Zahlen u. Buchstaben) eingefügt. Aus diesen eingefügten IDs sollen in dem schwarzen Rahmen 10 zufällig erzeugte IDs angezeigt werden. Sollte eine ID doppelt ausgelesen werden, sollte genauso eine kleine MessageBox wie bei dir erscheinen und mit Klick auf OK die nächsten 10 Zufalls IDs erzeugt werden, so lange bis keine doppelte ID mehr angezeigt wird.

    Ich hoffe ihr könnt mir helfen und bedanke mich schon mal vorab für eure Unterstützung.

    Gruß

    Martin
     
  12. Sulprobil, 14. September 2019
    #12
  13. Zufallsbereich ohne doppelte Einträge

    Hallo Bernd,

    vielen Dank für den Link...

    ganz schön kompliziert für einen Anfänger wie mich. Das überfordert mich leider ein wenig.

    Gibt es zu meinem Problem auch eine etwas weniger Programmieraufwendige Lösung?

    Gruß

    Martin
     
  14. Hallo

    ... es geht auch kürzer ... ob es dadurch einfacher wird ...

    Code:
    Den Code ins Codemodul des Arbeitsblattes

    PHP:
             Sub ZufallsAuswahl(ByVal Anzahl As Byte)
    ReDim arZahlen(1 To Anzahl) As Integer          ' die Zahlen 1 ... Max'
    ReDim arZufallsZahlen(1 To Anzahl) As Integer    ' 6 unterschiedlich' Zufallszahlen von 1 ... 49
    Dim i 
    As IntegerAs IntegeriMax As Integer
    Dim ucc
    As Integer

    ' Die Zahlen 1 ... Anzahl eintragen'
    For 1 To Anzahl
    arZahlen
    (i) = i
    Next

    iMax 
    Anzahl                        ' Obere Arraygrenze am Anfang'
    Randomize Time
    For 1 To Anzahl
    Int(Rnd() * iMax) + 1        ' ergibt einen zufälligen Index zwischen 1 und iMax'
    arZufallsZahlen(i) = arZahlen(j' die Zahl mit diesem Index nehmen'
    arZahlen(j) = arZahlen(iMax)     ' die gezogene Zahl durch die letzte Arraykomponente ersetzen !'
    iMax iMax 1                  ' und iMax um 1 verkleinern :-)'
    Next

    Worksheets
    ("Tabelle2").Range("c1").Resize(101) = _
    WorksheetFunction
    .Transpose(arZufallsZahlen' Tabelle2 anpassen'
    End Sub

    Sub Get_me
    ()
    Call ZufallsAuswahl(20)  'Anzahl der IDs'
    End Sub
     
    Flotter Feger, 14. September 2019
    #14
  15. Hallo Sabina,

    erstmal vielen Dank.

    Soll ich hier in diesem Thread weiter antworten, oder in dem Thread, den ich extra hierfür erstellt habe?

    Ich habe es so gemacht wie du beschrieben hast, nur werden bei mir in Spalte D keine Werte aus Spalte A angezeigt. Wie geht das?

    Wenn ich nun in Spalte anstatt 20 IDs, 150 oder 200 IDs einfüge, was muss ich deinen Code wie anpassen, sodass 10 zufälligen Werte aus allen in Spalte A eingefügten Werten erzeugt werden??

    Gruß

    Martin
     
Thema:

Zufallsbereich ohne doppelte Einträge

Die Seite wird geladen...
  1. Zufallsbereich ohne doppelte Einträge - Similar Threads - Zufallsbereich doppelte Einträge

  2. Doppelte Werte pro Tag, an anderen nicht

    in Microsoft Excel Hilfe
    Doppelte Werte pro Tag, an anderen nicht: Hallo zusammen Ich stehe vor folgender Herausforderung - nach zig Versuchen stehe ich wieder am Anfang und bitte um Hilfe. Eine Gebäude ist mit einem Scansystem ausgestattet und jeder mit...
  3. Doppelte Werte mit 2 Bedingungen finden

    in Microsoft Excel Hilfe
    Doppelte Werte mit 2 Bedingungen finden: Hi zusammen, ich beiße mir gerade die Zähne an einer wahrscheinlich einfachen Lösung aus. Ich habe 2 Tabellen mit Kundendaten. Beide Tabellen sind identisch aufgebaut. In Spalte A stehen in...
  4. Excel Zellenwert aus vorgegebenen Bereich ohne Wiederholung wiedergeben

    in Microsoft Excel Hilfe
    Excel Zellenwert aus vorgegebenen Bereich ohne Wiederholung wiedergeben: Guten Tag, ich bin derzeit dabei mir ein Tabellenblatt aufzubauen, wo ich anhand von Fußballergebnissen mir ein simples Auslosungstool anhand einfacher Formeln baue. Nun bin ich aber beim...
  5. ZUFALLSBEREICH (Funktion)

    in Microsoft Excel Tutorials
    ZUFALLSBEREICH (Funktion): ZUFALLSBEREICH (Funktion) Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016 Excel 2019 für Mac...
  6. Zufallsbereich ohne Wiederholungen

    in Microsoft Excel Hilfe
    Zufallsbereich ohne Wiederholungen: Servus Liebe Community, ich habe eine Frage zum Zufallsbereich in Excel. Ich habe einen Zufallsbereich mit Zahlen bis 59.(Achtung: Dabei kommt nicht jede Zahl vor: 1-2-5-6-9-...-59) Ich möchte...
  7. Zufallsbereich ohne Wiederholungen Zahl 2-19

    in Microsoft Excel Hilfe
    Zufallsbereich ohne Wiederholungen Zahl 2-19: Hallo, folgendes Problem: Wie kann ich in Excel Zufallszahlen von einer bestimmten Datenreihe generieren? Ich muss in der Spalte von AA1:AS1 Zufallszahlen von 2-19 generieren. Haber...
  8. SVERWEIS(ZUFALLSBEREICH Einfrieren

    in Microsoft Excel Hilfe
    SVERWEIS(ZUFALLSBEREICH Einfrieren: Hallo, ich bräuchte ein wenig hilfe ^^ Folgendes Problem: Ich habe diesen Befehl: SVERWEIS(ZUFALLSBEREICH (natürlich ausgebaut und geht auch alles) der mir ja per Zufall bestimme Sachen...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden