13. april 2010 - 10:04 Der er 10 kommentarer og
1 løsning

Sortere kolonne i excel tilfældigt og export herefter til CSV fil

Hej.
Nogen som kan hjælpe? Har et excel ark, indeholdene navn og mobilnummer i hver sin kolonne. Jeg ønsker at kunne sortere mobilnummer tilfældigt og herefter export denne kolonne til CSV text file (Mobilnr;mobilnr;...). Skal bruges til SMS liste, som læser mobilnumre fra CSV fil - det er så det ikke er de samme som får SMS først hver gang... "en slags ryste posen". Anvendes til udlodning af ekstra-vagter etc.
Avatar billede supertekst Ekspert
13. april 2010 - 14:30 #1
Hvor mange sms-nr er der tale om?
13. april 2010 - 15:12 #2
Ca. 130
Avatar billede supertekst Ekspert
13. april 2010 - 17:42 #3
Sker der en registrering på de mobilnr, som får ekstra-vagter m.v. - så kunne man jo lade disse gå bag i køen.

Ved "ryst posen" - kan man jo godt risikere gengangere mindre mindre man tager højde for dette.

Men der kan skrives VBA-kode, der kan dette...
13. april 2010 - 20:03 #4
Ryst psoen er bedre end det der sker i dag. Det med at flytte nummer bag i køen er ikke en løsning, det skal være ryst posen. Behøver ikke være Excel kan også være andet...
Avatar billede supertekst Ekspert
13. april 2010 - 21:41 #5
Excel er ok - er begyndt på en skitse ...

(Hvad sker der idag - hvis man må spørge)
Avatar billede supertekst Ekspert
13. april 2010 - 23:26 #6
VBA-koden anbringes under ark med mobilNr (Højreklik på ark / vælg Vis Programkode) - Alt+F8 / afspil vist makro - eller forbind denne med en knap

Const CsvFilNavn = "SMScsv.txt"                    'kan justeres
Dim filSti As String                                'aktuelle mappe

Const smsKol1 = 3
Dim randomNr As Integer, nrListe() As Integer
Dim antalRæk As Long, antalKol As Long
Dim ræk As Long, smsLinje As String
Public Sub sorterSMS()
Dim ræk
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
    antalKol = ActiveCell.SpecialCells(xlLastCell).Column
    filSti = findSti
   
    ReDim nrListe(antalRæk)
   
    Application.ScreenUpdating = False
   
    For ræk = 2 To antalRæk
        randomNr = trækEtNr
        Cells(ræk, 3) = randomNr
    Next ræk
   
Rem Sorter iflg. kolonne C
    Range("A1:C" & CStr(antalRæk)).Sort Key1:=Range("C2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

Rem overfør til CSV.fil
    smsLinje = ""
    Open filSti + CsvFilNavn For Output As #1
    For ræk = 2 To antalRæk
        smsLinje = smsLinje + CStr(Cells(ræk, 2)) & ";"
    Next ræk
       
    Print #1, smsLinje
    Close #1
   
    Application.ScreenUpdating = True
End Sub
Private Function findSti()
    findSti = ActiveWorkbook.Path
    If Right(findSti, 1) <> "\" Then
        findSti = findSti + "\"
    End If
   
End Function
Private Function trækEtNr() As Long
Dim flag As Boolean
    flag = False
   
    While flag = False
        trækEtNr = Int((antalRæk * Rnd) + 1)
        If nrListe(trækEtNr) = 0 Then
            nrListe(trækEtNr) = trækEtNr
            flag = True
        End If
    Wend
End Function
14. april 2010 - 08:01 #7
I dag, mobilnr. rækkefølge er den samme hvergang. DVS. det er de samme ansatte som får SMS først - SMS system sender åbenbart 1 SMS adgangen.
Avatar billede supertekst Ekspert
14. april 2010 - 09:05 #8
Ok - hvis det er ønskeligt - kan du få tilsendt min filen med ovennævnte kode - blot send en mail - @-adr. under profil.
Avatar billede supertekst Ekspert
14. april 2010 - 13:23 #9
Et svar, hvis tiden er til det...
14. april 2010 - 19:48 #10
Super, well done! Kunne du kort beskrive hvad koden gør - mest omkring hvordan tilfældigheden er....? TAK!
14. april 2010 - 19:48 #11
Super, well done! Kunne du kort beskrive hvad koden gør - mest omkring hvordan tilfældigheden er....? TAK!
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

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



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel