Εμφάνιση ενός μόνο μηνύματος
  #16  
Παλιά 05-03-10, 13:12
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα!
Είχα φτιάξει κάτι παρόμοιο αλλά δεν το δημοσίευσα τελικά αφού η χρήση του
σε πολλά δεδομένα (όπου θα υπάρξει αισθητή διαφορά χρόνου εκτέλεσης) θα είναι μάλλον περιορισμένη:


Function MixArray(LngMin&, LngMax&) As Variant
Dim i&, x#, rng&, Itm&
ReDim xKeys(LngMin To LngMax)
For i = LngMin To LngMax - 1
xKeys(i) = i + 1
Next
rng = LngMax - LngMin
For i = LngMin To LngMax - 1
x = Int(Rnd * rng) + i
Itm = xKeys(x)
xKeys(x) = xKeys(i)
xKeys(i) = Itm
rng = rng - 1
Next
MixArray = xKeys
End Function

Sub MakeMixedArray()
Dim MyMixedArray
MyMixedArray = MixArray(1, 500000)
End Sub
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση