Bigelk Skrevet 14. november 2011 Del Skrevet 14. november 2011 (endret) Hei. Jeg trenger en rullegardin som viser sykemeldings grad. F.Eks 25%, 50% og 75%. etter jeg har programmert inn verdiene vil jeg at 25 tilsier 1.333 det vil si at timene som er jobbet blir delt på 1.333 som tilsvarer 25% Jeg har prøvd litt forskjellig men får det ikke til og fungere cells(1 ,2) = timer. cells(2, 2) = kg. cells(2, 3) = kg per time With rullegardin1 .AddItem 0 .AddItem 25 .AddItem 50 .AddItem 75 End With If rullegardin1 = 0 Then Cells(2, 3) = Cells(2, 2) / Cells(2, 1) ElseIf rullegardin1 = 25 Then Cells(2, 3) = Cells(2, 1) / 1.333 / cells(2, 2) ElseIf rullegardin1 = 50 Then Cells(c2) = Cells(2, 1) / 2 / cells(2, 2) ElseIf rullegardin1 = 75 Then Cells(c2) = Cells(2, 1) / 4 /cells(2, 2) End If Noen som har noen forslag? Endret 14. november 2011 av Bigelk Lenke til kommentar
GeirGrusom Skrevet 14. november 2011 Del Skrevet 14. november 2011 Du burde heller lage en matematisk løsning som regner ut resultatet fremfor å hardkode. Ideelt skal du bare trenge å legge til verdier i rullgardinen. Lenke til kommentar
Bigelk Skrevet 16. november 2011 Forfatter Del Skrevet 16. november 2011 Hei. Takk for svar. Men jeg lurer ikke på hva jeg burde gjøre, jeg lurer på hvordan jeg hardkoder en rullgardin. Lenke til kommentar
GeirGrusom Skrevet 16. november 2011 Del Skrevet 16. november 2011 (endret) Jeg svarer på spørsmål på mine premisser, og det er som følgende: Hardkoding er en vanvittig dårlig idé. Du sitter på en regnemaskin: bruk den! Endret 16. november 2011 av GeirGrusom Lenke til kommentar
Bigelk Skrevet 17. november 2011 Forfatter Del Skrevet 17. november 2011 Hei. Jeg mente selfølgelig ikke at du ikke kunne svare hva du ville. Men du har ikke innsikt i hvordan Regne arket mitt ser ut eller hvordan det skal brukes. I forhold til hvordan det skal brukes er det bedre at det er harkodet enn at det bare ligger som en formel på selve regnearket Så igjen,Takk for svar.Men jeg lurer fortsatt på hvordan jeg skal hardkode en rullegardin. Mvh Torbjørn Lenke til kommentar
Bigelk Skrevet 29. november 2011 Forfatter Del Skrevet 29. november 2011 (endret) Hei. etter diverse prøvelser må jeg si meg helt enig med MrGrusom at dette er bedre og løse med formel. Men jeg veit ikke helt hvordan enda. Har programert en rullegardin nå, men lurer på hvordan jeg skal sette Range som variabel, jeg har 40 rullegardiner, og det blir en hel.... jobb og gjøre om range for hver linje med kode. Jeg kan ikke så mye om programmering men skjønner at dette er en veldig tungvindt måte og løse det på, men det fungerer Koden ser sånn her ut If Range("n6") = 0 And Range("w6") = 1 Then Range("f6") = Range("e6") / Range("d6") ElseIf Range("n6") = 1 And Range("w6") = 1 Then Range("f6") = Range("e6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 2 Then Range("f6") = Range("e6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 3 Then Range("f6") = Range("e6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 4 Then Range("f6") = Range("e6") / Range("d6") End If If Range("n6") = 0 And Range("w6") = 1 Then Range("x6") = 0 ElseIf Range("n6") = 1 And Range("w6") = 1 Then Range("x6") = 0 ElseIf Range("n6") = 1 And Range("w6") = 2 Then Range("x6") = Range("d6") / 1.333 ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("x6") = Range("d6") / 2 ElseIf Range("n6") = 1 And Range("w6") = 4 Then Range("x6") = Range("d4") / 4 End If If Range("n6") = 0 And Range("w6") = 1 Then Range("f6") = Range("e6") / Range("d6") ElseIf Range("n6") = 1 And Range("w6") = 2 Then Range("f6") = Range("e6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("f6") = Range("e6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("f6") = Range("e6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 4 Then Range("f6") = Range("e6") / Range("x6") End If If Range("n6") = 0 And Range("w6") = 1 Then Range("h6") = Range("g6") / Range("d6") ElseIf Range("n6") = 1 And Range("w6") = 1 Then Range("h6") = Range("g6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 2 Then Range("h6") = Range("g6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 3 Then Range("h6") = Range("g6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 4 Then Range("h6") = Range("g6") / Range("d6") End If If Range("n6") = 0 And Range("w6") = 1 Then Range("x6") = 0 ElseIf Range("n6") = 1 And Range("w6") = 1 Then Range("x6") = 0 ElseIf Range("n6") = 1 And Range("w6") = 2 Then Range("x6") = Range("d6") / 1.333 ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("x6") = Range("d6") / 2 ElseIf Range("n6") = 1 And Range("w6") = 4 Then Range("x6") = Range("d6") / 4 End If If Range("n6") = 0 And Range("w6") = 1 Then Range("h6") = Range("g6") / Range("d6") ElseIf Range("n6") = 1 And Range("w6") = 2 Then Range("h6") = Range("g6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("h6") = Range("g6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("h6") = Range("g6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 4 Then Range("h6") = Range("g6") / Range("x6") End If If Range("n6") = 0 And Range("w6") = 1 Then Range("j6") = Range("i6") / Range("d6") ElseIf Range("n6") = 1 And Range("w6") = 1 Then Range("j6") = Range("i6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 2 Then Range("j6") = Range("i6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 3 Then Range("j6") = Range("i6") / Range("d6") ElseIf Range("n6") = 0 And Range("w6") = 4 Then Range("j6") = Range("i6") / Range("d6") End If If Range("n6") = 0 And Range("w6") = 1 Then Range("x6") = 0 ElseIf Range("n6") = 1 And Range("w6") = 1 Then Range("x6") = 0 ElseIf Range("n6") = 1 And Range("w6") = 2 Then Range("x6") = Range("d6") / 1.333 ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("x6") = Range("d6") / 2 ElseIf Range("n6") = 1 And Range("w6") = 4 Then Range("x6") = Range("d6") / 4 End If If Range("n6") = 0 And Range("w6") = 1 Then Range("j6") = Range("i6") / Range("d6") ElseIf Range("n6") = 1 And Range("w6") = 2 Then Range("j6") = Range("i6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("j6") = Range("i6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 3 Then Range("j6") = Range("i6") / Range("x6") ElseIf Range("n6") = 1 And Range("w6") = 4 Then Range("j6") = Range("i6") / Range("x6") har ikke prøvd denne koden enda, men er noe sånn jeg ser for meg. Dim x As Integer x = 6 Set Range = Areas Areas = Cells(x, 14) And Cells(x, 23) And Cells(x, 6) And Cells(x, 5) And Cells(x, 4) If Cells(x, 14) = 0 And Cells(x, 23) = 1 Then Cells(x, 6) = Cells(x, 5) / Cells(x, 4) ElseIf Cells(x, 14) = 1 And Cells(x, 23) = 1 Then Cells(x, 6) = Cells(x, 5) / Cells(x, 4) ElseIf Cells(x, 14) = 0 And Cells(x, 23) = 2 Then Cells(x, 6) = Cells(x, 5) / Cells(x, 4) ElseIf Cells(x, 14) = 0 And Cells(x, 23) = 3 Then Cells(x, 6) = Cells(x, 5) / Cells(x, 4) ElseIf Cells(x, 14) = 0 And Cells(x, 23) = 4 Then Cells(x, 6) = Cells(x, 5) / Cells(x, 4) End If Hilsen Torbjørn Endret 29. november 2011 av Bigelk Lenke til kommentar
Bigelk Skrevet 30. november 2011 Forfatter Del Skrevet 30. november 2011 (endret) Hei. Da er vel denne løst, men tror ikke dette er den optimale løsningen. Jeg har ikke programert "inn" eller "ut" verdiene, har heller brukt cellereferanser. Men jeg har programert inn hvordan regnearket skal regne ut i fra "ut" veridene til Rullegardinene. jeg har 40 rader, hvor hver rad skal gjøre visse utregninger ut i fra en rullegardin og en checkbox, har da en rullegardin og en checkbox per rad. Jeg har brukt x som rad nummer så jeg slipper og gjøre om rad nummeret for hver rullegardin. Rullegardin4_endre() Dim x As Integer x = 4 If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 6) = cells(x, 5) / cells(x, 4) ElseIf cells(x, 14) = 1 And cells(x, 23) = 1 Then cells(x, 6) = cells(x, 5) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 2 Then cells(x, 6) = cells(x, 5) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 3 Then cells(x, 6) = cells(x, 5) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 4 Then cells(x, 6) = cells(x, 5) / cells(x, 4) End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 24) = 0 ElseIf cells(x, 14) = 1 And cells(x, 23) = 1 Then cells(x, 24) = 0 ElseIf cells(x, 14) = 1 And cells(x, 23) = 2 Then cells(x, 24) = cells(x, 4) / 1.333 ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 24) = cells(x, 4) / 2 ElseIf cells(x, 14) = 1 And cells(x, 23) = 4 Then cells(x, 24) = cells(x, 4) / 4 End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 6) = cells(x, 5) / cells(x, 4) ElseIf cells(x, 14) = 1 And cells(x, 23) = 2 Then cells(x, 6) = cells(x, 5) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 6) = cells(x, 5) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 6) = cells(x, 5) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 4 Then cells(x, 6) = cells(x, 5) / cells(x, 24) End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 8) = cells(x, 7) / cells(x, 4) ElseIf cells(x, 14) = 1 And cells(x, 23) = 1 Then cells(x, 8) = cells(x, 7) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 2 Then cells(x, 8) = cells(x, 7) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 3 Then cells(x, 8) = cells(x, 7) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 4 Then cells(x, 8) = cells(x, 7) / cells(x, 4) End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 24) = 0 ElseIf cells(x, 14) = 1 And cells(x, 23) = 1 Then cells(x, 24) = 0 ElseIf cells(x, 14) = 1 And cells(x, 23) = 2 Then cells(x, 24) = cells(x, 4) / 1.333 ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 24) = cells(x, 4) / 2 ElseIf cells(x, 14) = 1 And cells(x, 23) = 4 Then cells(x, 24) = cells(x, 4) / 4 End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 8) = cells(x, 7) / cells(x, 4) ElseIf cells(x, 14) = 1 And cells(x, 23) = 2 Then cells(x, 8) = cells(x, 7) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 8) = cells(x, 7) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 8) = cells(x, 7) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 4 Then cells(x, 8) = cells(x, 7) / cells(x, 24) End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 10) = cells(x, 9) / cells(x, 4) ElseIf cells(x, 14) = 1 And cells(x, 23) = 1 Then cells(x, 10) = cells(x, 9) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 2 Then cells(x, 10) = cells(x, 9) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 3 Then cells(x, 10) = cells(x, 9) / cells(x, 4) ElseIf cells(x, 14) = 0 And cells(x, 23) = 4 Then cells(x, 10) = cells(x, 9) / cells(x, 4) End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 24) = 0 ElseIf cells(x, 14) = 1 And cells(x, 23) = 1 Then cells(x, 24) = 0 ElseIf cells(x, 14) = 1 And cells(x, 23) = 2 Then cells(x, 24) = cells(x, 4) / 1.333 ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 24) = cells(x, 4) / 2 ElseIf cells(x, 14) = 1 And cells(x, 23) = 4 Then cells(x, 24) = cells(x, 4) / 4 End If If cells(x, 14) = 0 And cells(x, 23) = 1 Then cells(x, 10) = cells(x, 9) / cells(x, 4) ElseIf cells(x, 14) = 1 And cells(x, 23) = 2 Then cells(x, 10) = cells(x, 9) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 10) = cells(x, 9) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 3 Then cells(x, 10) = cells(x, 9) / cells(x, 24) ElseIf cells(x, 14) = 1 And cells(x, 23) = 4 Then cells(x, 10) = cells(x, 9) / cells(x, 24) End If Endret 30. november 2011 av Bigelk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå