Balthasar Skrevet 8. februar 2010 Del Skrevet 8. februar 2010 Sitter med modellbygging som et ledd i en bacheloravhandling og skulle gjerne ha fått skjult enkelte rader basert på en rullegardinverdi i en celle for å gjøre modellen mer dynamisk. Er dette mulig? Hvordan? Lenke til kommentar
Harald Staff Skrevet 8. februar 2010 Del Skrevet 8. februar 2010 Heisann Rullegardin som i Datavalidering? Da kan du bruke en makro a la denne (høyreklikk arkfane, Vis kode, lim inn): Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$5" Then Select Case Target(1).Value Case "Skjule" Rows("7:12").Hidden = True Case Else Rows("7:12").Hidden = False End Select End If End Sub Merk at makroer krever at de er aktivert for å virke, og at ingenting funker på Excel2008 for Mac. Så sjekk om sensor har selvlysende eple på topplokket. HTH. Beste hilsen Harald Lenke til kommentar
Balthasar Skrevet 8. februar 2010 Forfatter Del Skrevet 8. februar 2010 hehe, så det er altså mulig . Makroer er aktivert da solverknapp er vesentlig i en sånn oppgave. Stemmer med rullegardin som i datavalidering. Men skjønner fremdeles ikke helt. Er her snakk om hvis celle e5 lik 1 så skal 9:17 skjules, e5 er lavere eller lik 2 så skal 10:17 skjules, e5 lavere eller lik 3 så skal 11:17 skjules, osv. Hvordan blir dette da? Takker for svar! Lenke til kommentar
Harald Staff Skrevet 8. februar 2010 Del Skrevet 8. februar 2010 (endret) Ja absolutt alt er mulig med en makroaktivert excelfil. Ok, lineær numerisk logikk, det var ikke lett å skjønne innledningsvis. Private Sub Worksheet_Change(ByVal Target As Range) Dim X As Long, R As Long On Error Resume Next If Target.Address = "$E$5" Then Application.ScreenUpdating = False X = Application.WorksheetFunction.RoundUp(Target(1).Value, 0) Select Case X Case 1 To 10 For R = 8 To 8 + X - 1 Rows(R).Hidden = False Next For R = 8 + X To 17 Rows(R).Hidden = True Next Case Else Rows("8:17").Hidden = False 'fjern linjen hvis ønsket End Select Application.ScreenUpdating = True End If End Sub -metodikken er ubrukelig på tekstverdier selvfølgelig, da må vi gjøre noe annet. Edit: missa avrund opp, rettet nå. HTH. Beste hilsen Harald Endret 8. februar 2010 av Harald Staff Lenke til kommentar
Balthasar Skrevet 8. februar 2010 Forfatter Del Skrevet 8. februar 2010 (endret) tusen takk, den funka den , men hvorfor funker ikke denne? Private Sub Worksheet_Change(ByVal Target As Range) Dim X As Long, R As Long On Error Resume Next If Target.Address = "$E$19" Then Application.ScreenUpdating = False X = Application.WorksheetFunction.RoundUp(Target(1).Value, 0) Select Case X Case 1 To 20 For R = 21 To 21 + X - 1 Rows®.Hidden = False Next For R = 21 + X To 40 Rows®.Hidden = True Next Case Else Rows("21:40").Hidden = False 'fjern linjen hvis ønsket End Select Application.ScreenUpdating = True End If End Sub Ellers så har jeg et problem til som angår kolonner, men har ikke helt tatt stilling til hva som skal gjøres med den, med er nok ikke umulig at det kommer et innlegg til Takk igjen for kanonhjelp! Edit: fungerer som den skal den over også, men får ikke begge til å fungere samtidig? Edit 2: fiksa det, så midlertidig løst Endret 8. februar 2010 av elvis Lenke til kommentar
Harald Staff Skrevet 9. februar 2010 Del Skrevet 9. februar 2010 tusen takk, den funka den , men hvorfor funker ikke denne?Edit: fungerer som den skal den over også, men får ikke begge til å fungere samtidig? Edit 2: fiksa det, så midlertidig løst Hvis du prøver å forvirre meg så kryss av for Svært vellykket Men om virkeligheten er 19 så er det ikke et produktivitetsfremmende tiltak å skrive om til 5 bare for eksempelets skyld. Beste hilsen Harald Lenke til kommentar
Balthasar Skrevet 9. februar 2010 Forfatter Del Skrevet 9. februar 2010 tusen takk, den funka den , men hvorfor funker ikke denne?Edit: fungerer som den skal den over også, men får ikke begge til å fungere samtidig? Edit 2: fiksa det, så midlertidig løst Hvis du prøver å forvirre meg så kryss av for Svært vellykket Men om virkeligheten er 19 så er det ikke et produktivitetsfremmende tiltak å skrive om til 5 bare for eksempelets skyld. Beste hilsen Harald hadde to sånne rullegardinfunksjoner som det skulle gjøres det samme med om du ikke forstod . Den ene var det 10 variabler og den andre 20! Lenke til kommentar
Harald Staff Skrevet 9. februar 2010 Del Skrevet 9. februar 2010 Aha ok. Og det virker pr nå hvis jeg tolker deg rett. Fine greier, lykke til med bachelor! Beste hilsen Harald Lenke til kommentar
Balthasar Skrevet 9. februar 2010 Forfatter Del Skrevet 9. februar 2010 ja fungerer nå. Takk skal du ha Du vet forresten ikke om det er mulig å skjule deler av en kolonne? F.eks. I20:I40 og bortover på samme måte som på rader? Dette avhenger også av svar i den ene rullegardinen. Lenke til kommentar
Harald Staff Skrevet 9. februar 2010 Del Skrevet 9. februar 2010 Nei enten er hele kolonne I skjult eller så er den synlig. Metodikken er den samme, du adresserer kolonnen enten via nummer (tell fra venstre) eller bokstav i gåsetegn: Columns(9).Hidden = True Columns("I").Hidden = True Beste hilsen Harald Lenke til kommentar
Balthasar Skrevet 2. mars 2010 Forfatter Del Skrevet 2. mars 2010 (endret) Nei enten er hele kolonne I skjult eller så er den synlig. Metodikken er den samme, du adresserer kolonnen enten via nummer (tell fra venstre) eller bokstav i gåsetegn: Columns(9).Hidden = True Columns("I").Hidden = True Beste hilsen Harald Takk for sist svar, det har fungert utmerket. Sitter nå med et tilsynelatende like vanskelig problem som virkelig får testet hvis-funksjonens begrensninger. Problemet er å finne ut om det lar seg løse, og hvordan det da evt. skal skrives? Problemet lyder: Hvis D6<1 så skal cellen være lik 0, hvis D6>1 så skal cella være lik D50 dersom D50 er større enn 0 og hvis den ikke er det så skal cella være lik C50. Er det mulig? EDIT: Fiksa det! Endret 2. mars 2010 av elvis 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å