Thema Datum  Von Nutzer Rating
Antwort
01.11.2016 22:23:23 kuddel
NotSolved
Blau Zufallszuordnung Eigenschaften zu Elementen, jeweils lediglich 1mal
02.11.2016 13:44:57 BigBen
NotSolved
02.11.2016 21:17:00 Gast50319
NotSolved
03.11.2016 11:32:45 BigBen
NotSolved
03.11.2016 12:59:50 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
02.11.2016 13:44:57
Views:
685
Rating: Antwort:
  Ja
Thema:
Zufallszuordnung Eigenschaften zu Elementen, jeweils lediglich 1mal

Hallo,

mr fällt da eine Lösung ein:

Sub FillAllocations()
    Dim rngFill As Range
    Dim rng As Range
    Set rngFill = Range("C2:C26")
    ' Bereich leeren
    rngFill.ClearContents
    For Each rng In rngFill.Cells
        rng.Value = "X" & CStr(rng.Row - 1) & " -> " & GetRandomize()
    Next
End Sub

Function GetRandomize() As String
    Dim rngPropList As Range
    Dim rngAllocList As Range
    Dim strProp As String
    Dim iRow As Integer
    Dim rng As Range
    ' In A1 und C1 steht der Titel
    Set rngPropList = Range("A2:A26")
    Set rngAllocList = Range("C2:C26")
    Do
        iRow = Rnd() * 24 + 1
        strProp = Range("A" & CStr(iRow + 1))
        Set rng = rngAllocList.Find(strProp)
    Loop While Not rng Is Nothing
    GetRandomize = strProp
End Function

Diese Lösung hat allerdings einen Haken:

Das Füllen dauert für die letzten X Einträge immer länger, da hier um so mehr Doppelte Treffer ausgefiltert werden müssen.

besser wäre es, zu Beginn alle Eintäge als der Spalte A in ein Array zu speichern und aus diese Array die Treffer zu löschen. Diese Lösung läuft rein theoretisch viel performanter ab. In VBA gibt es allerdings keinen Befehl zum Entfernen von einzelnen Array-Einträgen. Solche Funktionen gibt es nur z.B. in VB.net.

LG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.11.2016 22:23:23 kuddel
NotSolved
Blau Zufallszuordnung Eigenschaften zu Elementen, jeweils lediglich 1mal
02.11.2016 13:44:57 BigBen
NotSolved
02.11.2016 21:17:00 Gast50319
NotSolved
03.11.2016 11:32:45 BigBen
NotSolved
03.11.2016 12:59:50 BigBen
NotSolved