Avatar billede dengalepose.dk Nybegynder
23. januar 2004 - 10:53 Der er 15 kommentarer og
2 løsninger

Randomfunktion i Excel ?

Jeg har 400 telefonnumre stående i et regneark, som jeg gerne vil have blandet helt tlfældigt. Kan Excel gøre det for mig ?

Eller har I et andet forslag ?

DGP
Avatar billede Slettet bruger
23. januar 2004 - 11:17 #1
Står de i en kolonne, eller vil du bare udvælge en eller flere af dem tilfældigt ?
Avatar billede faithless Praktikant
23. januar 2004 - 11:27 #2
I kolonnen ved siden af kan du lave denne formel og kopiere den ned langs telefonnumrene. Herefter kan du sortere på disse tal og du vil have en nogenlunde random sortering.

=rand()
Avatar billede dengalepose.dk Nybegynder
23. januar 2004 - 11:38 #3
De står lige nu i 7 kolonner, og jeg vil gerne have alle numrene blandet helt vilkårligt... Jeg kan godt stille dem op i en kolonne, hvis det er nødvendigt.

DGP
Avatar billede dengalepose.dk Nybegynder
23. januar 2004 - 11:40 #4
faithless > Når jeg har sat det op, som du siger, hvad gør jeg så ?

Trykker "data" og "sorter" eller hvad ?

DGP
Avatar billede Slettet bruger
23. januar 2004 - 11:43 #5
Det her er en VBA funktion der udvælger en tilfældig celle fra en kolonne.
Du skal gøre følgende:

1. Tryk ALT + F11 for at starte VBA editoren.
2. I venstre side finder du VBAProject(Navnet på dit ark) f.eks VBAProject(Telefon)
3. Marker VBAProject(Navnet på dit ark) og vælg Insert -> Module fra menuen.
4. Kopier nedenstående kode ind i Modulet, gem arket, luk editoren.
5. (Kræver at dine numre er stillet op i en kolonne) Marker et telefonnummer i kolonnen.
6. Tryk ALT + F8 og kør makroen chooseRandom.

-------------------------------------------


Public Sub chooseRandom()
    Dim antal As Integer
    Dim valg As Integer
   
    antal = ActiveCell.CurrentRegion.Rows.Count
   
    Randomize
    valg = WorksheetFunction.Floor(Rnd * antal, 1) + 1
   
    ActiveCell.CurrentRegion.Range(Cells(valg, ActiveCell.Column), Cells(valg, ActiveCell.Column)).Select
    MsgBox valg
End Sub

----------------------------------
Avatar billede dengalepose.dk Nybegynder
23. januar 2004 - 11:44 #6
Når jeg har skrevet "=rand()" ændres det til "#NAVN?" - Hvorfor gør den det ?

DGP
Avatar billede Slettet bruger
23. januar 2004 - 11:49 #7
Mindre rettelse...
Hvis selve nummeret skal vises i en MsgBox skal du bruge denne her..

-------------

Public Sub chooseRandom()
    Dim antal As Integer
    Dim valg As Integer
   
    antal = ActiveCell.CurrentRegion.Rows.Count
   
    Randomize
    valg = WorksheetFunction.Floor(Rnd * antal, 1) + 1
   
    With ActiveCell.CurrentRegion.Range(Cells(valg, ActiveCell.Column), Cells(valg, ActiveCell.Column))
        .Select
        MsgBox .Value & " er udvalgt"
    End With
End Sub

-----------------------
Avatar billede dengalepose.dk Nybegynder
23. januar 2004 - 12:01 #8
Der er fejl i denne linje :

With ActiveCell.CurrentRegion.Range(Cells(valg, ActiveCell.Column), Cells(valg, ActiveCell.Column))
       
DGP
Avatar billede Slettet bruger
23. januar 2004 - 12:02 #9
Den kræver numrene er stillet op i en kolonne.
Du skal markere en af numrene og derefter køre makroen.
Avatar billede faithless Praktikant
23. januar 2004 - 12:13 #10
det kan være den skriver #NAVN fordi du kører dansk. Jeg ved ikke hvad formlen hedder på dansk, for jeg bruger engelsk office. Den skulle lave et nummer mellem 0 og 0.99999. Hvis du får den til det markere du de 2 kolonner og sortere dem efter den kolonne hvor din formel står i.
Avatar billede faithless Praktikant
23. januar 2004 - 12:16 #11
du kan evt. prøve at skrive =rand() i en celle, gemme arket og åbne det igen. Så plejer den selv at oversætte formler til dansk.
23. januar 2004 - 12:23 #12
At der står #NAVN i cellen når du indtaster RAND(), er sikkert fordi du anvender en dansk Excel, og RAND() er den engelske version.

På dansk hedder funktionen SLUMP(), og returnerer en tilfældig værdi mellem 0 og 1.
Avatar billede faithless Praktikant
23. januar 2004 - 12:39 #13
Du får lige et svar fra mig også, hvis du kan bruge formel løsningen. (c;
Avatar billede dengalepose.dk Nybegynder
23. januar 2004 - 12:59 #14
blackadder > Tak for forslaget. Jeg kunne desværre ikke få din metode til at virke.

faithless og erikjuul > Det virkede, da jeg brugte SLUMP()-funktionen :)

Er det ikke iorden, hvis I alle 3 deler i porten ?

DGP
Avatar billede Slettet bruger
23. januar 2004 - 13:02 #15
Jeg syntes du burde dele pointene mellem faithless og erikjuul, da det var deres løsning du valgte.
Avatar billede dengalepose.dk Nybegynder
26. januar 2004 - 09:14 #16
Hermed gjort... Tak for hjælpen drenge :)

DGP
Avatar billede faithless Praktikant
26. januar 2004 - 16:16 #17
selv tak (c;
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester