K.. Skrevet 17. januar 2005 Del Skrevet 17. januar 2005 (endret) Hei. Spurte her uten å få særlig respons. Ble anbefalt å poste her siden dere har mer peiling på slikt (?). Allefall, mitt spørsmål er som følger. Driver å lager ett glose-øve-program med excel og har bruk for litt hjelp. Jeg bruker hvis-funksjonen til å hente det rette ordet fra en skjult kolonne. Det jeg nå vil gjøre, er å lage en knapp som skjuler\viser kolona når jeg trykker på den. Er dette mulig å få til? Takker for svar! Endret 17. januar 2005 av Knut Erik Lenke til kommentar
pumpy Skrevet 17. januar 2005 Del Skrevet 17. januar 2005 (endret) Ved hjelp av verktøylinjen "Kontrollverktøykassen" setter du inn en "kommandoknapp" i regnearket. Dobbelklikk på denne for å vise koden for knappen (alt. høyreklikk på og velg "Vis kode"). Mellom Privat Sub og End Sub skriver du inn følgende Worksheets("Ark1").Columns("E").Hidden = False Hvor "Ark1" er navnet på arket, og "E" navnet på kolonnen. Hvis du ønsker at knappen skal veksle mellom skjult og synlig skriver du If Worksheets("Ark1").Columns("E").Hidden = True Then Worksheets("Ark1").Columns("E").Hidden = False Else Worksheets("Ark1").Columns("E").Hidden = True End If Husk at makroer må være aktivert for at dette skal virke (Verktøy->Makroer->Sikkerhet = "Middels" eller "Lav") Endret 17. januar 2005 av pumpy Lenke til kommentar
K.. Skrevet 17. januar 2005 Forfatter Del Skrevet 17. januar 2005 Takker for supert svar! Hvordan blir da dette om jeg vil skjule TO kolonner? Lenke til kommentar
pumpy Skrevet 17. januar 2005 Del Skrevet 17. januar 2005 For en serie med kolonner Worksheets("Ark1").Columns("E:G").Hidden = True Som skjuler kolonne "E" til og med "G". En annen måte å skjule kolonnene på er med å bruke "range" objektet i stedet. Range("D:D,I:K,M:M").Select Selection.EntireColumn.Hidden = True Dette skjuler kolonne "D", "I" - "K" og "M". Lenke til kommentar
K.. Skrevet 17. januar 2005 Forfatter Del Skrevet 17. januar 2005 Takk takk igjen. Må si du har god peiling på dette. Setter virkelig pris på hjelpa jeg får! Har en liten sak til som er litt tricky. Jeg tenker å få til noe slikt som dette. Du skriver inn antall ord du skal øve på i ei celle. Foreks 10. Da ordner modellen 10 celler ned med nr og kant rundt cellene. Noe slikt som jeg viser på vedlagt bilde. Er dette mulig å få til? Lenke til kommentar
pumpy Skrevet 17. januar 2005 Del Skrevet 17. januar 2005 Du kan bruke "Worksheet_SelectionChange" for å sjekke om en verdi forandrer seg i en bestemt celle. Koden under vil først sjekke om verdien i celle C2 har forandret seg og hvis så er tilfelle tegne opp tabellen på nytt med utgangspunkt i den nye verdien. Lim inn koden foran eller etter "CommandButton1_Click()" funksjonen Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Bruker variabelen "verdi" for å sjekke om innholdet har endret seg i celle C2 Static verdi 'Lag ny tabell hvis C2 har forandret verdi If verdi <> Range("C2").Value Then antall_gloser = Range("C2").Value verdi = antall_gloser 'Slett radene 11 til 200 Worksheets("Ark1").Rows("11:200").Delete 'Fyll inn nr For radnr = 1 To antall_gloser Range("A10").Offset(radnr, 0).Value = radnr Next radnr 'Finn adressen til siste cellen i tabellen, siste rad og siste kolonne sistecelle = Range("A10").Offset(antall_gloser, 6).Address 'Merk området som skal ha kantlinjer Range("A11:" & sistecelle).Select 'Opprett kantlinjer for området With Selection .Borders.Weight = xlThin End With 'Flytt merking til celle C2 Range("C2").Select End If End Sub Koden forutsetter at regnearket er bygd opp som på det bildet du la med. Lenke til kommentar
K.. Skrevet 18. januar 2005 Forfatter Del Skrevet 18. januar 2005 Kjempegreier Tusen takk for all hjelp! Det er bare ett lite problem igjen. Cellene rett/galt blir også slettet når du endrer verdien for antall gloser. Den cella inneholder en hvisfunksjon som sjekker om fasitcella er lik glosecella. Er det mulig å ordne det slik at den cella _ikke_ blir sletta? =) Takker igjen for mye god hjelp. Lenke til kommentar
pumpy Skrevet 18. januar 2005 Del Skrevet 18. januar 2005 Denne koden forutsetter at formelen for kolonne E (Rett/Galt) ligger i E9. Innholdet her kopieres så til cellene i kolonne F i tabellen. Erstatt tidligere kode med denne! Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Bruker variabelen "verdi" for å sjekke om innholdet har endret seg i celle C2 Static verdi 'Lag ny tabell hvis C2 har forandret verdi If verdi <> Range("C2").Value Then antall_gloser = Range("C2").Value verdi = antall_gloser 'Slett radene 11 til 200 Worksheets("Ark1").Rows("11:200").Delete 'Fyll inn nr For radnr = 1 To antall_gloser Range("A10").Offset(radnr, 0).Value = radnr Next radnr 'Finn adressen til siste cellen i tabellen, siste rad og siste kolonne sistecelle = Range("A10").Offset(antall_gloser, 4).Address 'Kopiere formelen fra E9 til Rett/Galt kolonnen i tabellen Range("E9").Select Selection.Copy Range("E11:" & sistecelle).Select ActiveSheet.Paste 'Merk området som skal ha kantlinjer Range("A11:" & sistecelle).Select 'Opprett kantlinjer for området With Selection .Borders.Weight = xlThin End With 'Flytt merking til celle C2 Range("C2").Select End If End Sub Lenke til kommentar
K.. Skrevet 18. januar 2005 Forfatter Del Skrevet 18. januar 2005 (endret) *edit edit* Ser ut til å virke, men har ett problem til her... Formelen jeg bruker til å sjekke er følgende: =IF(C11=0;" ";IF(C11=D11;"Rett";"Galt")) Når denne blir kopiert, får jeg bare mange #REF feil Noen måte å komme rundt dette på? Takker igjen for at du tar deg tid til å hjelpe meg. Endret 18. januar 2005 av Knut Erik Lenke til kommentar
pumpy Skrevet 18. januar 2005 Del Skrevet 18. januar 2005 Formelen i celle E9 må referere til samme raden. I ditt tilfelle skal formelen i E9 se slik ut: =IF(C9=0;" ";IF(C9=D9;"Rett";"Galt")) Lenke til kommentar
K.. Skrevet 18. januar 2005 Forfatter Del Skrevet 18. januar 2005 Takker takker! Da var modellen min i boks. Ypperlig hjelp pumpy! Takk takk! 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å