/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Vilkårlig deltagerliste i Excel
Fra : Fiel


Dato : 25-11-06 10:34

Hej gruppe

Kan I hjælpe mig med dette?

Jeg har en kolonne med indtastede deltagernavne

A
B
C
D
E
F

Næste gang jeg skal udskrive arket skal navnene stå
i en vilkårlig rækkefølge uden de øvrige kolonners rækker
skifter plads. Næste gang i en ny vilkårlig
rækkefølge og så fremdeles.
Det skal helst ske ved tryk på en udløser af en eller
anden slags.

Jeg håber I kan hjælpe mig, for jeg synes jeg har prøvet alt.

Med venlig hilsen
Leif B .



 
 
Leo Heuser (25-11-2006)
Kommentar
Fra : Leo Heuser


Dato : 25-11-06 13:32

"Fiel" <lebl@post2.tele.invalid> skrev i en meddelelse
news:45680df3$0$205$edfadb0f@dread11.news.tele.dk...
> Hej gruppe
>
> Kan I hjælpe mig med dette?
>
> Jeg har en kolonne med indtastede deltagernavne
>
> A
> B
> C
> D
> E
> F
>
> Næste gang jeg skal udskrive arket skal navnene stå
> i en vilkårlig rækkefølge uden de øvrige kolonners rækker
> skifter plads. Næste gang i en ny vilkårlig
> rækkefølge og så fremdeles.
> Det skal helst ske ved tryk på en udløser af en eller
> anden slags.
>
> Jeg håber I kan hjælpe mig, for jeg synes jeg har prøvet alt.
>
> Med venlig hilsen
> Leif B .
>
>

Hej Leif

Her er en VBA løsning.
Elementerne (der her er navne), kan være tal,
tekst eller begge dele. De skal stå i den samme
kolonne, og der må ikke være dubletter iblandt.
Det er kun nødvendigt at angive startcellen, så
finder programmet selv ud af, hvor navnene slutter.
Kolonnen må *kun* bruges til navnene.


1. Kopiér nedenstående kode.
2. Gå til VBA editoren med <Alt><F11>
3. Find dit projekt i projektvinduet
i den venstre del af skærmen. Hvis vinduet
ikke er synligt, kan du få det frem med
<Ctrl>r. Klik på projektet.
4. Vælg menupunktet Insert > Module
5. Indsæt den kopierede kode i det højre vindue.
6. Ret "A2", hvis dine navne starter i en anden celle.
7. Gå tilbage til arket med <Alt><F11>
8. Opret en knap fra værktøjslinjen "Formularer",
og lad den kalde "RandomSequence".
9. Gem projektmappen og du er klar til klikning


Sub RandomSequence()
'Leo Heuser, 25-11-2006
'Elementerne skal stå i den samme kolonne.
Dim Counter As Long
Dim Element As Variant
Dim ElementColl As Collection
Dim FirstCell As String
Dim FirstCellRange As Range
Dim GetElement As Long
Dim OrgRange As Range
Dim OrgRangeValue As Variant

Randomize

FirstCell = "A2"

With ActiveSheet
Set FirstCellRange = .Range(FirstCell)
Set OrgRange = Range(FirstCellRange, _
.Cells(.Rows.Count, FirstCellRange.Column).End(xlUp))
End With

OrgRangeValue = OrgRange.Value

Set ElementColl = New Collection

On Error Resume Next

For Each Element In OrgRangeValue
ElementColl.Add Item:=Element, key:=CStr(Element)
Next Element

On Error GoTo Finito

If UBound(OrgRangeValue, 1) <> ElementColl.Count Then
MsgBox "Duplicates are not allowed."
GoTo Finito
End If

For Counter = LBound(OrgRangeValue, 1) To UBound(OrgRangeValue, 1)
GetElement = Int(Rnd * ElementColl.Count) + 1
OrgRangeValue(Counter, 1) = ElementColl(GetElement)
ElementColl.Remove GetElement
Next Counter

OrgRange.Value = OrgRangeValue

Finito:
If Err.Number <> 0 Then
MsgBox "Unexpected error." & vbNewLine & Err.Description
End If

On Error GoTo 0
End Sub


--
Med venlig hilsen
Leo Heuser

Followup to newsgroup only please.





Fiel (25-11-2006)
Kommentar
Fra : Fiel


Dato : 25-11-06 13:54

Kære Leo
Tak for hurtig respons. Jeg prøver at få det til at fungere, selv om det ser
svært ud.

Jeg har selv tumlet med at associere navnene til en PLADS liste på basis af
en random liste, men
stødte på det problem, at der kun kan indlejres 7 elementer i en HVIS, og
jeg har brug for 12 navne i dette tilfælde.

Foreløbig mange tak for hjælpen.

Med venlig hilsen

Leif Blindbæk


Leo Heuser (25-11-2006)
Kommentar
Fra : Leo Heuser


Dato : 25-11-06 20:21

"Fiel" <lebl@post2.tele.invalid> skrev i en meddelelse
news:45683ce1$0$177$edfadb0f@dread11.news.tele.dk...
> Kære Leo
> Tak for hurtig respons. Jeg prøver at få det til at fungere, selv om det
> ser svært ud.
>
> Jeg har selv tumlet med at associere navnene til en PLADS liste på basis
> af en random liste, men
> stødte på det problem, at der kun kan indlejres 7 elementer i en HVIS, og
> jeg har brug for 12 navne i dette tilfælde.
>
> Foreløbig mange tak for hjælpen.
>
> Med venlig hilsen
>
> Leif Blindbæk

Hej Leif

Velbekomme.
Vend tilbage, hvis du ikke kan få det til at virke.

Med venlig hilsen
Leo



Fiel (26-11-2006)
Kommentar
Fra : Fiel


Dato : 26-11-06 00:28

Tak Leo. Det virker fint.
mvh/leif b.

Leo Heuser (26-11-2006)
Kommentar
Fra : Leo Heuser


Dato : 26-11-06 09:07

"Fiel" <lebl@post2.tele.invalid> skrev i en meddelelse
news:4568d198$0$153$edfadb0f@dread11.news.tele.dk...
> Tak Leo. Det virker fint.
> mvh/leif b.

Velbekomme, Leif, og tak for tilbagemeldingen.

Med venlig hilsen
Leo



Joergen Bondesen (26-11-2006)
Kommentar
Fra : Joergen Bondesen


Dato : 26-11-06 10:02

Hej Leif

Der findes også en "primitiv" regnearksløsning.

Du har data i A2:A10.
I område B2:B10 er der følgende formel: dk =slump() eller UK=rand()
Det samlede område A2:B10 skal være en tabel, dvs. der er ikke tilstødende
celle med data i.

Når du bl.a. taster F9 = genberegn vil du se, at tallene i område B2:B10
ændre sig.

Stil markøren i en tilfældig celle i område B2:B10 og klik på sorter
stigende eller faldende.

****************************************

Mht. til Leos superløsning, kan du i ThisWorkbook (VBA) benytte følgende
Event:

Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'// Macro
RandomSequence
End Sub


Dette betyder, at Leos makro aktives i forbindelse med udskrift og ved
udskrift forståes både Print og Vis Udskrift.

Dette kunne så kombineres med at data kopieres til et andet område sammen
med dato/tid således, at du har en dokumentation, men det er vist en helt
anden sag.

--
Med venlig hilsen
Jørgen Bondesen


"Leo Heuser" <leo.heuser@DROPTHISadslhome.dk> wrote in message
news:4st0a0F11fbtjU1@mid.individual.net...
> "Fiel" <lebl@post2.tele.invalid> skrev i en meddelelse
> news:4568d198$0$153$edfadb0f@dread11.news.tele.dk...
>> Tak Leo. Det virker fint.
>> mvh/leif b.
>
> Velbekomme, Leif, og tak for tilbagemeldingen.
>
> Med venlig hilsen
> Leo
>



Fiel (26-11-2006)
Kommentar
Fra : Fiel


Dato : 26-11-06 10:24

Hej Jørgen

Tak for din respons. Jeg var netop stødt ind i problemet med
afvisningen af macro'en på grund af højt sikkerhedsniveau.
Jeg må i gang med at afprøve dit forslag.

Fordslaget med RANG og PLADS var jeg selv kommet til, men
stødte så ind i problemet med aflæsningen, da HVIS ikke kan
indeholde mere en 7 elementer. Er der foresten ikke en metode
at omgå dette på?. Jeg kan ikke få 2 gang HVIS til at virke
i samme formel.


Jeg må også tilstå, at jeg er langt fra at være haj til Excel, men
jeg forsøger da at gennemskue det VBA. Det er lidt svært, når man
er kommet lidt op i årene og må finde sig i at være en lille fisk.

Det er godt man altid kan få hjælp af jer gutter. Tak for det.

Med venlig hilsen

Leif B. / brisling


Joergen Bondesen (26-11-2006)
Kommentar
Fra : Joergen Bondesen


Dato : 26-11-06 11:00

Hej Leif.

Velbekomme.

> Tak for din respons. Jeg var netop stødt ind i problemet med
> afvisningen af macro'en på grund af højt sikkerhedsniveau.
Det var dog en skrækkelig tanke, at du ikke "vil" bruge Leos makro.

Du skal ind i menuen: Funktioner - Makro - Sikkerhed - Første faneblad: Lav
og på det andet faneblad: sættes der flueben i begge.
Jeg bruger Excel 2003 UK.

Hvis min anvisning ikke passer til din Excel, skriver du bare hvad du har
version/sprog og så er der garanteret en der gerne vil give den "rigtige"
løsning.

> Jeg må også tilstå, at jeg er langt fra at være haj til Excel,
Så er det jo godt vi har denne NG, som er for alle der vil hjælpes/lære
noget.

--
Med venlig hilsen
Jørgen Bondesen


"Fiel" <lebl@post2.tele.invalid> wrote in message
news:45695d3c$0$188$edfadb0f@dread11.news.tele.dk...
> Hej Jørgen
>
> Tak for din respons. Jeg var netop stødt ind i problemet med
> afvisningen af macro'en på grund af højt sikkerhedsniveau.
> Jeg må i gang med at afprøve dit forslag.
>
> Fordslaget med RANG og PLADS var jeg selv kommet til, men
> stødte så ind i problemet med aflæsningen, da HVIS ikke kan
> indeholde mere en 7 elementer. Er der foresten ikke en metode
> at omgå dette på?. Jeg kan ikke få 2 gang HVIS til at virke
> i samme formel.
>
>
> Jeg må også tilstå, at jeg er langt fra at være haj til Excel, men
> jeg forsøger da at gennemskue det VBA. Det er lidt svært, når man
> er kommet lidt op i årene og må finde sig i at være en lille fisk.
>
> Det er godt man altid kan få hjælp af jer gutter. Tak for det.
>
> Med venlig hilsen
>
> Leif B. / brisling



Leo Heuser (26-11-2006)
Kommentar
Fra : Leo Heuser


Dato : 26-11-06 12:44

Hej Leif


"Fiel" <lebl@post2.tele.invalid> skrev i en meddelelse
news:45695d3c$0$188$edfadb0f@dread11.news.tele.dk...
> Hej Jørgen
>
> Tak for din respons. Jeg var netop stødt ind i problemet med
> afvisningen af macro'en på grund af højt sikkerhedsniveau.
> Jeg må i gang med at afprøve dit forslag.

Hvis det ikke er fordi dit firma forbyder brugen af makroer,
vil jeg anbefale, at du sætter til "mellem sikkerhedsniveau",
hvor du bliver spurgt, om makroer skal aktiveres.

At udelukke VBA, er at vinke farvel til en utrolig bunke
muligheder.

Med venlig hilsen
Leo



Fiel (27-11-2006)
Kommentar
Fra : Fiel


Dato : 27-11-06 01:36

Hej Leo

Jeg agter bestemt at bruge VBA og ser mulighederne,
men problemet var, at min vagtliste også skulle bruges
af andre og så skal der jo følge en lille instruktion
med; men det er nu klaret og alle er glade.

I en fjern fortid lærte jeg mig noget Visual Basic, men
vi må have haft en lang varm periode, for det meste er
desværre svedt ud

Tak for hjælpen

Leif B.


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste