07. december 2004 - 17:37Der er
7 kommentarer og 1 løsning
ark vis/skjul
Hvis man har en celle med valideringslist eks. "jan", "feb", "mar". og så har man nogle arkke med navn f.eks. "jan", "feb", "mar". mening er når man vælger "jan" i cellen , så skal ark "jan" vises ellers skal den være skjult og hvis man vælger "mar" i cellen, skal ark "mar" vises og andre skal være skult osv. Er der en der kan lige trylle med en lille kode.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Jeg forudsætter at du har et ark fremme, der hedder front. (den med datavalideringscellen), Datavaideringscellen er A1
Denne kode indsættes i arkets eget kodemodul (højreklik på erkfanen og vælg "Vis programkoder".
Private Sub Worksheet_Change(ByVal Target As Range) Dim sh If Not Intersect(Target, Range("A1")) Is Nothing Then For Each sh In ActiveWorkbook.Sheets 'her ændre du Front til det navn du ønsker If sh.Name <> "Front" Then sh.Visible = xlSheetHidden End If Next Sheets(Target.Value).Visible = xlSheetVisible End If End Sub
Det virkede ikke for mig. Min front ark hedder: "humørbarometer" og datavalideringscelle er "C8" og data er: "oktober_2004" , "november_2004" og "december_2004". arkkene som skal vises eller skjules hedder: "bem_oktober_2004" , "bem_november_2004" og "bem_december_2004".
Ok, det stemmer jo ikke helt med dit 1. eksempel. I denne her skal data i datavalideringen bare indgå i arknavnet.
Private Sub Worksheet_Change(ByVal Target As Range) Dim sh If Not Intersect(Target, Range("C8")) Is Nothing Then For Each sh In ActiveWorkbook.Sheets If sh.Name <> "Humørbarometer" Then If Not UCase(sh.Name) Like "*" & UCase(Target.Value) & "*" Then sh.Visible = xlSheetHidden Else sh.Visible = xlSheetVisible End If End If Next End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) Dim sh 'Hvis Target (cellen der er ændret), er celle C8 If Not Intersect(Target, Range("C8")) Is Nothing Then 'gennemgå alle ark i projektmappen For Each sh In ActiveWorkbook.Sheets 'hvis arkets navn er forsk. fra "Humørbarometer" '(for ikke at få skjult "humørbarometer) If sh.Name <> "Humørbarometer" Then 'hvis ikke arknavnet (store bogstaver) ligner det, der står i C8 (store bogstaver) 'så skjul arket ellers, hvis det ligner så vis arket
If Not UCase(sh.Name) Like "*" & UCase(Target.Value) & "*" Then sh.Visible = xlSheetHidden Else sh.Visible = xlSheetVisible End If End If Next End If End Sub
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.