Jeg har fundet en meget "tung" funktion, som kan gi' dig det ønskede resultat med 2 decimaler. I et separat ark fylder du cellerne fra A1 til A9901 med værdier der stiger med ,01. Du markerer området A1 til A9901 og navngi'r med f.eks. Slumptal.
Efter at have lavet nedenstående funktion, kan du indtaste denne formel i en celle: =rangerandomize(Slumptal) den skal indtastes med Ctrl+Shift+Enter så den får Tuborgklammer omkring sig.
Funktionen stammer fra en bog af John Walkenbach.
Function RANGERANDOMIZE(rng) Dim V() As Variant, ValArray() As Variant Dim CellCount As Double Dim i As Integer, j As Integer Dim r As Integer, c As Integer Dim Temp1 As Variant, Temp2 As Variant Dim RCount As Integer, CCount As Integer Randomize ' Return an error if rng is too large CellCount = rng.Count If CellCount > 9901 Then RANGERANDOMIZE = CVErr(xlErrNA) Exit Function End If
' Assign variables RCount = rng.Rows.Count CCount = rng.Columns.Count ReDim V(1 To RCount, 1 To CCount) ReDim ValArray(1 To 2, 1 To CellCount)
' Fill ValArray with random numbers ' and values from rng For i = 1 To CellCount ValArray(1, i) = Rnd ValArray(2, i) = rng(i) Next i
' Sort ValArray by the random number dimension For i = 1 To CellCount For j = i + 1 To CellCount If ValArray(1, i) > ValArray(1, j) Then Temp1 = ValArray(1, j) Temp2 = ValArray(2, j) ValArray(1, j) = ValArray(1, i) ValArray(2, j) = ValArray(2, i) ValArray(1, i) = Temp1 ValArray(2, i) = Temp2 End If Next j Next i Application.Volatile True
' Put the randomized values into the V array i = 0 For r = 1 To RCount For c = 1 To CCount i = i + 1 V(r, c) = ValArray(2, i) Next c Next r RANGERANDOMIZE = V End Function
OK, men så kan vi ja bare sørge for at den anden decimal aldrig bliver 0. Det kan opnås ved først at bruge slump til at finde et tal mellem 1 og 100 med én decimal. Desuden bruges slump så til at finde et tal mellem 0,01 og 0,09 og lægge det til det første:
Og tobler tak for tilbuddet om makroløsningen. Det skriver jeg mig lige bag øret.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.