Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
01.11.2016 22:23:23 |
kuddel |
|
|
Zufallszuordnung Eigenschaften zu Elementen, jeweils lediglich 1mal |
02.11.2016 13:44:57 |
BigBen |
|
|
|
02.11.2016 21:17:00 |
Gast50319 |
|
|
|
03.11.2016 11:32:45 |
BigBen |
|
|
|
03.11.2016 12:59:50 |
BigBen |
|
|
Von:
BigBen |
Datum:
02.11.2016 13:44:57 |
Views:
685 |
Rating:
|
Antwort:
|
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
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
Zufallszuordnung Eigenschaften zu Elementen, jeweils lediglich 1mal |
02.11.2016 13:44:57 |
BigBen |
|
|
|
02.11.2016 21:17:00 |
Gast50319 |
|
|
|
03.11.2016 11:32:45 |
BigBen |
|
|
|
03.11.2016 12:59:50 |
BigBen |
|
|