Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1460to1464
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahlen 1-6 in eine Tabelle verteilen

Zahlen 1-6 in eine Tabelle verteilen
07.12.2015 23:06:13
Wutä

Hallo Zusammen,
ich möchte in einer 6 Spalten 3 Zeilen Tabelle die Zahle 1-6 zufällig verteilen. Dabei soll weder in der Zeile noch in der Spalte eine Zahl doppelt vorkommen. Ich komme einfach auf keinen grünen Zweig und wäre für einen Denkanstoß sehr dankbar.
Das zufällige erstellen der Zufallszahlen 1-6 ist klar und auch die erste Zeile stellt kein Problem dar. Wie ich aber in der zweiten Zeile vermeide, dass sich die Zahl innerhalb einer Spalte nicht wiederholt, lässt mich verzweifeln. Ist das überhaupt ohne VBA einfach zu machen?
Vielen Dank schon mal für die Hilfe.
Gruß
Wutä

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen 1-6 in eine Tabelle verteilen
08.12.2015 05:44:55
Bernd
Hi,
habe hier einen kleinen Denkanstoß gefunden:
https://www.herber.de/forum/archiv/1220to1224/1220693_Werte_per_Zufall_verteilen.html
Einfach die Beispieldatei runter laden, den Code mit dem Vorgeschlagenen ersetzen, und testen.
Problem ist aber, das sich Zahlen untereinander wiederholen können, aber bei den VBA Profis hier, wird es sicher jemand geben, der dies beheben kann.
mfg Bernd

die freche Variante
08.12.2015 07:03:42
Michael
Hi zusammen,
Du ziehst ja nicht eigentlich Zufallszahlen, sondern Deine Zahlen (1..6) sind bekannt, Du änderst nur die Reihenfolge.
Datei anbei: https://www.herber.de/bbs/user/102079.xls

Anzeige
AW: die freche Variante - Nachtrag
08.12.2015 07:06:12
Michael
Sorry, zu schnell auf absenden geklickt...
Das Makro:
Option Explicit
Private Sub CommandButton1_Click()
Range("B6:C11").Sort [B6]
Range("D6:E11").Sort [D6]
Range("F6:G11").Sort [F6]
While [h12] <> 0
Range("D6:E11").Sort [D6]
Wend
While [i12] <> 0
Range("F6:G11").Sort [F6]
Wend
End Sub
Schöne Grüße,
Michael

AW: die freche Variante - Nachtrag
08.12.2015 10:32:33
Wutä
Hallo Michael,
vielen Dank für diese schnelle Antwort. Genau das hatte ich gesucht.
Da wäre ich nie drauf gekommen. Mir fehlt da die Erfahrung solche Abfragen geschickt einzubauen.
Besten Dank!
Wutä

AW: Zahlen 1-6 in eine Tabelle verteilen
08.12.2015 08:36:07
Sepp
Hallo Wutä,
eine weitere Möglichkeit.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub zufall()
Dim lngR As Long, lngC As Long, lngRnd As Long
Dim lngTry As Long

Randomize Timer

With Range("C5:H7")
  Do
    lngTry = 0
    .ClearContents
    For lngR = 1 To 3
      For lngC = 1 To 6
        Do
          lngRnd = Int(6 * Rnd + 1)
          lngTry = lngTry + 1
          If lngTry > 1000 Then Exit Do
        Loop While Application.CountIf(.Columns(lngC), lngRnd) > 0 Or _
          Application.CountIf(.Rows(lngR), lngRnd) > 0
        .Cells(lngR, lngC) = lngRnd
      Next
    Next
  Loop While lngTry > 1000
End With
End Sub

Gruß Sepp

Anzeige
AW: Zahlen 1-6 in eine Tabelle verteilen
08.12.2015 10:35:30
Wutä
Hallo Sepp,
diese Lösung sieht auch interessant aus. Da werde ich mich auch nochmal mit befassen. Ich glaube das Problem ist auch eine gute Übung für mich solche Skripte zu erstellen und zu verstehen.
Vielen Dank.
Gruß
Wutä

AW: Deine Frage ist mit nein zu beantworten ...
08.12.2015 08:41:40
neopa C
Hallo Wutä.
... wobei mein nein vor allem aus Deiner Frage nach einer einfachen VBA-freien Lösung resultiert.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige