Avatar billede Rubensoren Nybegynder
26. juni 2014 - 09:31 Der er 23 kommentarer og
1 løsning

Random sampler

Hej Alle

Jeg har brug for hjælp.

Det jeg har brug for er at excel på vilkårlige tidspunkter popper en pop-up menu frem hvor man så kan vælge en kategori i en dropdown.

Dvs. hvis jeg sidder og arbejder skal der på vilkårlige tidspunker pop en menu frem på min skærm hvor jeg så vælger hvilken kategori jeg arbejder med.

Hvordan kan dette laves?

Mvh. Ruben
Avatar billede supertekst Ekspert
26. juni 2014 - 11:44 #1
Hvad er formålet, hvis man må spørge?
Avatar billede finb Ekspert
26. juni 2014 - 13:25 #2
Kan du vba ?
Avatar billede Rubensoren Nybegynder
26. juni 2014 - 17:21 #3
supertekst: Selvfølgelig må du det. Det skal bruges til at indsamle data og lave statistik på hvad tiden bliver brugt til i nogle specifikke afdelinger.

Finb: Lidt, men er ikke hardcore koder :)
Avatar billede supertekst Ekspert
26. juni 2014 - 17:54 #4
Tak for Info
Hvor tit og hvormange pop-ops pr dag?
Avatar billede Rubensoren Nybegynder
27. juni 2014 - 08:49 #5
Jamen den skulle gerne komme med et pop-up hvert med et 15 minutters interval. Dvs. det er random hvornår indenfor de 15 minutter den popper up? Giver det mening
Avatar billede supertekst Ekspert
27. juni 2014 - 09:04 #6
Prøv at komme med et eksempel på det ønskede forløb  i løbet af en dag - så der ikke er tvivl.
Avatar billede Rubensoren Nybegynder
27. juni 2014 - 09:15 #7
Tusinde tak fordi du vil hjælpe.

Det fedeste kunne være hvis man kunne fra gang til gang indstille den til hvor ofte den skulle pop-up, hvis dette ikke er muligt så 20 gange i timen - i tilfældig interval.

Så lad os sige jeg sidder ved computeren skal denne pop-up i gns. hver 3 minut.

I pop-up vinduet skal det så være muligt at skrive et tal fra 1-8 f.eks. eller 1-10 som så skal gemmes i arket. Så når dagen er gået har man alle data gemt i arket.

Håber det giver mere mening
Avatar billede supertekst Ekspert
27. juni 2014 - 09:47 #8
Selv tak - synes også selv det lyder som en spændende udfordring.

Kommentarer:
"fra gang til gang"-indstilling
? Hvordan forestiller du dig dette

"1-8 eller 1-10"
? Opfattede det som valg af en defineret liste

"Gemt i arket"
? Hvor & hvad - oplysninger om den enkelte bruger?

? I hvilket tidsinterval skal det fungere - 08:00 - 16:00 eller ?
Avatar billede Rubensoren Nybegynder
27. juni 2014 - 09:55 #9
Det er jeg glad for at høre. Det overgår i hvert fald mine excel/vba kompetencer.

1. Eventuelt nogle felter hvor man kan indtaste antallet af pop-ups pr. time

2. Hvis man kan indtaste et tal i intervallet 1-10 er det rigtigt fint.

3. Den skal bare gemme det tal som bliver tastet i pop-up menuen. Og  næste gang man skriver i pop-up vinduet skal den så gemme det nye tal i rækken under det forrige.

4. Skal man bestemme det på forhånd? Den skal jo egentligt kunne virke 24 timer i døgnet da det er forskelligt hvilke tidspunker man skal bruge arket.

Giver det mere mening?
Avatar billede supertekst Ekspert
27. juni 2014 - 10:19 #10
Det hjælper på det - dog lige et par bemærkninger:

1. "nogle felter" - i princippet kan man forestille sig 24 timer med hvert sit tal. Det er vel felter, der ikke skal være tilgængelige for brugeren.

4. Det er ok.

Hvor mange brugere skal anvende dette og hvad med indsamling af data?
Avatar billede Rubensoren Nybegynder
27. juni 2014 - 10:38 #11
1. Jeg tænker umiddelbart et felt hvor man kan indtaste antal pop-ups i timen. Dette kan eventuelt være et skjult ark med adgangskode (hvis dette er muligt).

Kun en bruger af gangen. Og indsamling af data er jo netop det som sker når personen indtaster et tal fra 1-10 som repræsenter nogle foruddefinerede kategorier (som ikke er i excel). Hvis du tænker på indsamling af data efterfølgende kan dette ske manuelt.
Avatar billede supertekst Ekspert
27. juni 2014 - 10:51 #12
Ok..
Avatar billede MadsHaupt Juniormester
28. juni 2014 - 20:20 #13
Jeg skal lige høre om det drejer sig om Excel programmering eller et ganske almindeligt Excel regneark.
Avatar billede Rubensoren Nybegynder
30. juni 2014 - 08:59 #14
Jamen hvad end der kan fungere. Men umiddelbart ville det være svært at håndterer uden VBA - men hvis det er muligt er det kun godt.
Avatar billede MadsHaupt Juniormester
30. juni 2014 - 11:16 #15
Jeg bruger desværre ikke Excel, men jeg kan VBA.
Avatar billede Rubensoren Nybegynder
30. juni 2014 - 14:29 #16
Supertekst: Noget nyt i sagen? :)
Avatar billede supertekst Ekspert
30. juni 2014 - 14:37 #17
Ja - er i gang med VBA-model.
Avatar billede supertekst Ekspert
30. juni 2014 - 15:56 #18
Et spørgsmål: Skal Excel lukkes mellem de enkelte pop-ups - eller?
Avatar billede Rubensoren Nybegynder
30. juni 2014 - 16:05 #19
En minimering ville være mere end fint :)

Så når man havde udfyldt pop-up vinduet ville excel minimeres
Avatar billede supertekst Ekspert
30. juni 2014 - 16:45 #20
Ok & tak
Avatar billede Rubensoren Nybegynder
30. juni 2014 - 20:51 #21
Det er skam mig der siger tak :)
Avatar billede supertekst Ekspert
01. juli 2014 - 23:43 #22
Version 1 er klar - hvis du sender en mail - returnerer jeg filen.
@-adresse under min profil.

Den endelige version vil blive vist her.. ..
Avatar billede supertekst Ekspert
08. juli 2014 - 15:53 #23
Const r20 = "4,1,5,7,1,2,1,3,6,1,2,3,1,2,4,8,3,2,3,1"
Dim tabel As Variant
Dim rXX() As Integer, pXX() As Boolean

Public antalPrTim As Integer                          'hentes fra ark Admin

Dim tast, tal As Integer
Dim aktuelleTim As Integer, antalTim As Integer, intervalMin As Integer
Dim okFlag As Boolean

Dim antalRækker As Integer, ræk As Integer

Dim storste As Integer, mindste As Integer, antal As Integer
Sub goON()
    Application.DisplayAlerts = False
    ActiveWorkbook.Application.WindowState = xlMaximized 'xlNormal
   
    okFlag = False
       
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
    If Range("A1") <> "" Then
        ræk = antalRækker + 1
    Else
        ræk = 1
    End If
   
    If antal = 0 Then
        opbygRandomTabel
        ActiveWorkbook.Application.WindowState = xlMinimized
        Application.OnTime (Now + TimeValue("00:" & Str(rXX(0)) & ":00")), "Module1.goON"
        antal = antal + 1
    Else
        Application.Windows("RandomSystem_2.xlsm").Activate
        indtastTal
    End If
   
End Sub
Private Sub indtastTal()
    While okFlag = False
        tast = InputBox("Tast et tal mellem 1-10", "Vælg kategori")
        If tast <> "" And IsNumeric(tast) = True Then
            tal = tast
            If tal > 0 And tal < 11 Then
                Range("A" & ræk) = tal
'                Range("B" & ræk) = Now              'tid
                ræk = ræk + 1

                ActiveWorkbook.Save
                ActiveWorkbook.Application.WindowState = xlMinimized
                Application.OnTime (Now + TimeValue("00:" & Str(rXX(antal)) & ":00")), "Module1.goON"
                antal = antal + 1
                okFlag = True
            Else
                fejlMelding
            End If
        Else
            fejlMelding
        End If
    Wend
   
    If antal = 20 Then
        antal = 0
'        Stop                                        'test
    End If
End Sub
Private Sub fejlMelding()
    MsgBox "Den indtastede værdi skal være mellem 1 - 10", vbOKOnly
End Sub
Private Sub opbygRandomTabel()
Dim flag As Boolean, pladsNr As Integer, x As Integer
    ReDim rXX(antalPrTim)
    ReDim pXX(antalPrTim)
   
    tabel = Split(r20, ",")                        'evt. test af antal pr. tim - p.t. kun 20 x
    antal = 0
    flag = False

    storste = UBound(tabel)
    mindste = 0
   
    For x = 1 To antalPrTim
        While flag = False
            Randomize
            pladsNr = Int((Rnd() * (storste - mindste + 1) + mindste))
            If pXX(pladsNr) = False Then
                pXX(pladsNr) = True
                flag = True
                rXX(antal) = tabel(pladsNr)
                antal = antal + 1
            Else
                If antal < 20 Then
                    flag = False
                End If
            End If
        Wend
        flag = False
    Next x
    antal = 0
   
   
Rem Test - vis
'    For x = 0 To 19
'        Range("C1").Offset(0, x) = rXX(x)
'    Next x
End Sub
Avatar billede Rubensoren Nybegynder
09. juli 2014 - 08:08 #24
Mange tak supertekst for et kanon stykke arbejde :)

Vh. Ruben
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