04. december 2002 - 10:07Der er
30 kommentarer og 2 løsninger
Kan jeg få lidt kode til "Skjul indhold af celler" ?
Hej Gutter og Gutinder
Jeg står lige og mangler en stump kode, der hvis Celle G5 er lige med "Anders And", så skal indholdet af cellerne E15 til G43 ikke vises. Indholdet i cellerne skal dog være der, men må ikke ses.
Ja - men jeg ved ikke om det er et "must", men det er det nok, Bak. Jkrons - den har vi selvfølgelig prøvet, problemet er at hvis man markerer området, så kan alle data ses alligevel...
Denne makro kører ved ændring af celle indholdet i G5 - med modifikationer kan den køres andre steder fra - denne skal placeres i arkets kodemodul:
Private Sub Worksheet_Change(ByVal Target As Range) Dim vntColerIndex As Variant If Not Intersect(Target, Range("G5")) Is Nothing Then If UCase(Target.Value) = "ANDERS AND" Then vntColerIndex = 2 Else vntColerIndex = xlColorIndexAutomatic End If Range("E15:G43").Font.ColorIndex = vntColerIndex End If End Sub
Hvis du også føjer denne her til, så kan brugeren ikke markere området. Prøv engang med dem begge.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("E15:G43")) Is Nothing Then If UCase(Range("G5").Value) = "ANDERS AND" Then Range("G5").Select End If End If End Sub
Hvis der står noget i en celle, og man kan markere cellen, vil man vel altid kunne se det i formellinien, så en løsning kunne være at fjerne formellinien.
flemmeingdahl-> Enig, og i virkeligheden tror jeg heller ikke, at problemet 100% kan løses. Hvis man skjuler cellen (og det tror jeg ikke at man kan), vil en kvik bruger også kunne finde ud af at vise den igen.
Private Sub Workbook_Open() If Worksheets("Ark1").Range("G15") = "Anders And" Then Worksheets("Ark1").Range("e15:g43").NumberFormat = ";;;" Worksheets("Ark1").Range("e15:g43").FormulaHidden = True ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End If End Sub
flemmingdahl-> Nu var det ikke mit spørgsmål :-) men Ja, jeg har prøvet din kode, og den virker hos mig. Det samme gør ivørigt bak's. Det eneste jeg ville påpege med mit forrige indlæg var, at "et idiotsikkert system ikke eksisterer. Dertil er idioter alt for opfindtsomme".
Den fangede jeg godt nok. Men nu prøver jeg lige helt forfra med et rent regneark. Når de andre kan få den til at virke, må det jo mig, der fjumser rundt i noget :-)
Private Sub Worksheet_Change(ByVal Target As Range) Dim vntColerIndex As Variant If Not Intersect(Target, Range("G5")) Is Nothing Then If UCase(Target.Value) = "ANDERS AND" Then vntColerIndex = 2 Else vntColerIndex = xlColorIndexAutomatic End If Range("E15:G43").Font.ColorIndex = vntColerIndex End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("E15:G43")) Is Nothing Then If UCase(Range("G5").Value) = "ANDERS AND" Then Range("G5").Select End If End If End Sub
I kodemodulet ThisWorkbook placerer du evt. følgende:
Private Sub Workbook_Open() Worksheets("Ark1").Select Range("G5").Select End sub
Bak nu har jeg fået din til at virke. Men hvis du der står "Lan-Lan" i stedet for "Anders And" cellen (altså ændrer sig), kan man så få tilføjet en linie, der gør "Ingenting" ??
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.