VBA-Frage
22.03.2019 21:14:24
Roman
Option Explicit
Sub Numbers()
Dim varNumbers As Variant, varRandom As Variant, lngI As Long
varNumbers = Array(3, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 20, 23, 24, 25, 26, 27, 28, 29, 30, _
32, 36, 37, 39, 40, 41, 42, 43, 44)
varRandom = randomNumbers(varNumbers, 6)
For lngI = 0 To UBound(varRandom)
Debug.Print varRandom(lngI)
Next
End Sub
Private
Function randomNumbers(Numbers As Variant, Count As Long) As Variant
Dim varTemp() As Variant, lngI As Long, lngRnd As Long
ReDim varTemp(Count - 1)
Randomize Timer
For lngI = 0 To Count - 1
lngRnd = Int((UBound(Numbers) + 1) * Rnd)
varTemp(lngI) = Numbers(lngRnd)
Numbers(lngRnd) = Numbers(UBound(Numbers))
ReDim Preserve Numbers(UBound(Numbers) - 1)
Next
randomNumbers = varTemp
Range("A9:F9").Value = randomNumbers
Range("A9:F9").Select
Selection.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Range("A1:F1").Value = varTemp