Avatar billede cybershot Nybegynder
26. juli 2006 - 12:00 Der er 8 kommentarer og
1 løsning

Formel - fordel et givet tal ift en prioritet

Vil gerne have hjælp med følgende formel:

et givet tal fra 0 til 70 skal fordeles efter en given prioritet mellem 1 og 18, hvor 1 er første prioritet osv. Dvs. hvis tallet er 5, skal priritet 1 til 5 have 1 hver, hvis tallet er 36, skal prioritet 1 til 18 have 2 hver, hvis tallet 40, skal prioritet 1 til 4 have 3 hver mens prioritet 5 til 18 skal have 2 hver.

På forhånd tak for hjælpen

Cybershot
Avatar billede kabbak Professor
26. juli 2006 - 12:47 #1
Tallene 1 til 18 i rækkefølge i fra A1 og nedad
Tallet der skal fordeles i C1

Makroen skriver i B kolonnen

Public Sub Fordel18()
Dim Tal As Integer, Antal As Integer, I As Integer
Antal = 18
Tal = [C1].Value
Range("B1:B18").ClearContents
Do
For I = 1 To 18
Range("B" & I) = Range("B" & I) + 1
Tal = Tal - 1
If Tal = 0 Then Exit Sub
Next
Loop Until Tal = 0
End Sub
Avatar billede cybershot Nybegynder
26. juli 2006 - 13:02 #2
ser ud til at virke. En lille detalje, ville egentligt godt have macroen i B kolonnen til at køre automatisk, når tallet i C1 tastes ind, kan det fikses ?

Cybershot
Avatar billede cybershot Nybegynder
26. juli 2006 - 13:07 #3
Et lille spørgsmål fra en nybegynder på siten.

"kommentar" er det hvis man vil have specificeret svaret på ens spørgsmål inden man giver points ?
"Svar" er det accept af svar på ens spørgsmål og dermed tildeling af points ?

Cybershot
Avatar billede kabbak Professor
26. juli 2006 - 13:49 #4
Sæt denne i Arkets modul

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then ' ret til den celle du skriver tallet i
Dim Tal As Integer, Antal As Integer, I As Integer
Antal = 18
Tal = Target.Value
Range("B1:B18").ClearContents
Do
For I = 1 To 18
Range("B" & I) = Range("B" & I) + 1
Tal = Tal - 1
If Tal = 0 Then Exit Sub
Next
Loop Until Tal = 0
End If
End Sub

Som spørger, bruger man kun kommentar, svar bruges kun hvis man selv har fundet svaret og at man tager udlovede point retur.

Jeg svarer nu, så kan du give mig point, ved at markere mit navn i boksen til venstre og så tryk Accepter.
Avatar billede cybershot Nybegynder
27. juli 2006 - 08:57 #5
Har forsøgt at sætte følgende ind i macro modulet:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then ' ret til den celle du skriver tallet i
Dim Tal As Integer, Antal As Integer, I As Integer
Antal = 18
Tal = Target.Value
Range("B1:B18").ClearContents
Do
For I = 1 To 18
Range("B" & I) = Range("B" & I) + 1
Tal = Tal - 1
If Tal = 0 Then Exit Sub
Next
Loop Until Tal = 0
End If
End Sub

men kan ikke få det til at fungere.

cybershot
Avatar billede kabbak Professor
27. juli 2006 - 14:35 #6
Den skal i ARK modulet.
højreklik på arkfanen i det ark den skal virke, vælg vis programkode.
Der skal den være.
Avatar billede cybershot Nybegynder
27. juli 2006 - 15:37 #7
Det hjalp. Glemte bare lige en ting i farten kolonne A1 og ned til A18 er tilfældigt fordelt og altså ikke stigende fra 1 (A1) til 18 (A18).
Avatar billede kabbak Professor
27. juli 2006 - 16:27 #8
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$1" Then    ' ret til den celle du skriver tallet i
        Dim Tal As Integer, Antal As Integer, I As Integer, C As Integer
        Antal = 18
        Tal = Target.Value
        Range("B1:B18").ClearContents
        Do
            For I = 1 To 18
                For C = 1 To 18
                    If Range("A" & C) = I Then
                        Range("B" & C) = Range("B" & C) + 1
                        Tal = Tal - 1
                    End If
                    If Tal = 0 Then Exit Sub
                Next
            Next
        Loop Until Tal = 0
    End If
End Sub
Avatar billede cybershot Nybegynder
31. juli 2006 - 09:57 #9
thks, det virker.

Cybershot
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