Forfatter |
Emne Søg Emne funktioner
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Emne: Afkrydsningfelt med funktion Sendt: 29.Mar.2012 kl. 17:33 |
Hejsa...
Hvordan laver jeg en afkrydsningsfelt, som har en funktion??
Dvs. Når jeg krydser af, skal værdien i A1 være 0 og når jeg krydser på skal værdien i A1 blive 500.
Vær sød at hjælpe mig.
Mvh
Gogo
|
|
|
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 29.Mar.2012 kl. 23:41 |
Den nemme: Indsæt en checkbox, højreklik og vælg properties. Skriv "B1" som LinkedCell og formlen "=500*B1" i A1
Den knap så nemme, men mere "robuste": Indsæt en checkbox, højreklik på ark-fanen og vælg "Show code". Indsæt følgende kode:
Private Sub CheckBox1_Click() Range("A1") = 500 * -1 * CheckBox1.Value End Sub
|
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Sendt: 30.Mar.2012 kl. 15:51 |
Hej Kurt,
Beklager, men jeg kan ikke får noget af det til at virke. Er ikke særlig god til det her.
Kan du måske uddybe det mere detaljeret??
Jeg har Excel 2010
Mvh
Gogo
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 31.Mar.2012 kl. 14:04 |
Okay - hvad er det, du ikke får til at virke? Du må give lidt flere oplysninger! Excel-version!
Har du fundet og indsat checkboksen, eller finder du den ikke?
|
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Sendt: 31.Mar.2012 kl. 14:20 |
Som sagt så har jeg excel 2010.
Fx:
A B 1 X 500
X= afkridsningsfeltet.
Når jeg krydser på, skal 500 forsvinde. Når jeg krydser af, skal 500 dukke op.
Hvor skal koden sættes ind??
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 31.Mar.2012 kl. 14:37 |
Ups - du skrev din excel-version! Beklager!
Jeg er stadig i tvivl om, hvad det er, du vil have?
Et afkrydsningsfelt forstod jeg som en "checkboks" - en lille firkant, som kan krydses af (med flueben/kryds) eller ikke. En checkboks er et objekt, som du kan sætte ind på dit ark (ligesom du sætter en magnet på et køleskab). Du kan skrive noget kode, som køres hver gang du klikke på chekboksen - eller du kan blot "linke" status for checkboksen (markeret/ikke markeret) til en celle - således f.eks. at celle B1 sættes til TRUE eller FALSE afhængig af checkboksens status. Da TRUE og FALSE også svarer til to tal, kan du benytte resultatet i formler, som jeg har gjort i den nemme løsning. Jeg har muligvis bytte om på noget, da jeg var usikker på, om krydse af og krysse på betyd afkrydset/ikke afkrydset eller omvendt.
Som du skriver i din sidste post får jeg fornemmelsen af, at du blot ønsker at værdien "X" skal indsættes/fjernes i A1.
I så fald skal du indsætte formlen =if(A1="X";500;0) i celle B2.
Kodningen har så ikke noget med VBA at gøre - det er måske det, som har forvirret mig! Beklager
|
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Sendt: 31.Mar.2012 kl. 15:13 |
hehe...
Jeg tror vi misforstår hinanden.
Med afkrydsningsfelt mener jeg flueben.
Dvs, når jeg sætter flueben på, skal 500 forsvinde og når jeg fjerner fluebenet, skal 500 komme tilbage.
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 31.Mar.2012 kl. 15:25 |
Nej - så misforstår vi netop ikke hinanden - eller også gør vi netop!
Dit regneark skal gemmes som xlsm-fil - ikke xlsx-fil.
Følgende er beskrevet som det er i min engelse 2007-udgave:
Herefter trykker du på Office-knappen (øverst oppe til venstre) og vælger Excel-options. Vælg gruppen "Popular" og afkryds "Show Developer tab in the Ribbon" Luk vinduet - der er nu en ekstra fane øverst ("Developer") - klik på den. Vælg Indsæt og klik på checkboks under ActiveX. Klik et sket i regnearket for at indsætte.
Du har nu en checkboks på dit regneark! Eller? Træk checkboksen hen, hvor du vil have den!
Højreklik på den, vælg egenskaber og indsæt B1 til højre for LinkedCell. Tryk dig væk fra design-mode øverst under developer-fanen.
Indsæt formlen i A1 og du skulle være kørende
Vend tilbage, hvis det ikke virker!
|
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Sendt: 31.Mar.2012 kl. 15:41 |
Så er jeg med så småt.
Jeg skulle jo bruge checkbox i ActiveX. Men nu har jeg sat koden ind og den virker nu.
Kan vi måske udvide den lidt?
Hvad nu, hvis den skal kunne fjerne et hvilken som helst tal? Dvs at denne kode ikke er specifikt til 500. Kan det lade sig gøre?
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 31.Mar.2012 kl. 16:04 |
Det lyder godt!
Så prøv med følgende:
Private Sub CheckBox1_Click() if CheckBox1=TRUE then Range("A1")=500 else Range("A1") = 0 end if End Sub
Ellers må du uddybe, hvad du mener med "fjerne et hvilket som helst tal"
|
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Sendt: 01.Apr.2012 kl. 14:33 |
Når jeg sætter flueben på, skal det tal som står i A1 blive til 0.
Dvs det er ligegyldigt hvilket tal der står i A1.
Håber du kan følge mig.
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 09.Apr.2012 kl. 20:16 |
Hej Gogo
Var lige på Mallorca og vandre! Er du kommet videre?
|
|
Gogo
Bronze bruger
Medlem: 04.Mar.2011
Land: Denmark
Status: Offline
Point: 48
|
Sendt: 09.Apr.2012 kl. 20:40 |
Håber da du havde en god tur så :)
Faktisk ikke.. Venter stadige på dine guldkorn. :)
|
|
Kurt Kubik
Sølv bruger
Medlem: 18.Feb.2012
Status: Offline
Point: 209
|
Sendt: 09.Apr.2012 kl. 20:50 |
Tak - dejlig tur! Lidt varmere end her, kan jeg forstå!
Hvis du anvender den sidste VBA-kode er det ligegyldigt, hvilket tal, som står i A1.
Hvis der sættes flueben i checkboksen, indsættes 500 i A1 - hvis flueben fjernes, indsættes 0 i A1.
|
|