Avatar billede mile Juniormester
04. december 2002 - 10:07 Der 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.
Avatar billede mile Juniormester
04. december 2002 - 10:08 #1
PS hvis muligt må den gerne eksekveres automatisk - Autorun ??
Avatar billede jkrons Professor
04. december 2002 - 10:12 #2
Brug betinget formatering. Hvis g5="Anders And" formaterer du til Hvid skriftfarve.
Avatar billede bak Forsker
04. december 2002 - 10:12 #3
Er arket beskyttet ?
Avatar billede mile Juniormester
04. december 2002 - 10:14 #4
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...
04. december 2002 - 10:15 #5
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
Avatar billede jkrons Professor
04. december 2002 - 10:15 #6
OK.
04. december 2002 - 10:16 #7
...den skrifter bare skriftfarven til hvid.
Avatar billede mile Juniormester
04. december 2002 - 10:18 #8
Er LIGEGLAD med farven - jeg vil have det skjult...
04. december 2002 - 10:19 #9
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
Avatar billede bak Forsker
04. december 2002 - 10:20 #10
Private Sub Workbook_Open()
If Worksheets("Ark1").Range("G5") = "Anders And" Then _
    Worksheets("Ark1").Range("e15:g43").NumberFormat = ";;;"
End Sub
04. december 2002 - 10:22 #11
bak>> så kan indholdet stadig ses i formellinien.
Avatar billede mile Juniormester
04. december 2002 - 10:25 #12
Og ved markering...
Avatar billede bak Forsker
04. december 2002 - 10:27 #13
Nej, ikke ved markering ( hos mig)
Avatar billede jkrons Professor
04. december 2002 - 10:28 #14
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.
04. december 2002 - 10:28 #15
mile>> prøv mine to - tror på de udfører det du ønsker.
Evt. kan du tilføje følgende, så du er sikker på markeringen er uden for E15:G43

Private Sub Workbook_Open()
  Worksheets("Ark1").Select
  Range("G5").Select
End sub
Avatar billede jkrons Professor
04. december 2002 - 10:28 #16
bak-> Heller ikke hos mig!
04. december 2002 - 10:29 #17
jkrons>> formel linien kan brugeren selv sætte på igen...
Avatar billede jkrons Professor
04. december 2002 - 10:34 #18
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.
Avatar billede bak Forsker
04. december 2002 - 10:34 #19
Så forsvandt visningen på formellinien også

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
04. december 2002 - 10:40 #20
jkrons>> har du prøvet min kode ? og ja en kvik bruger kan bruge et password remove værktøj også på min kode.

bak>> ved ikke om det har nogen betydning, men hvad når G5 ændre sig ?
Avatar billede jkrons Professor
04. december 2002 - 10:44 #21
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".
Avatar billede mile Juniormester
04. december 2002 - 10:46 #22
Bak din er jo en fin lille makro, men jeg kan skutte få den til at virke. Har indsat den under Makro - vba editor - Ark1.

Flemming jeg kan heller ikke få dine til at virke SAMMEN, kan du ikke lige prøve at flette dem sammen for mig, og fortælle hvor jeg skal lægge dem ?
04. december 2002 - 10:47 #23
jkrons>> OK

Jeg stopper her.
Avatar billede bak Forsker
04. december 2002 - 10:47 #24
Tjae, det har du da ret i, Flemming, men det kan sikkert også løses.
Jeg melder lige pas nu og går til møde :-)
Avatar billede bak Forsker
04. december 2002 - 10:49 #25
Hovsa, hvis du bere har kopieret min, har jeg skrevet G15 og ikke G5
Avatar billede bak Forsker
04. december 2002 - 10:50 #26
Hovsa igen, Den skal ligge i ThisWorkBook
Avatar billede mile Juniormester
04. december 2002 - 10:50 #27
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 :-)
04. december 2002 - 10:50 #28
Højreklik på arkets faneblad og indsæt følgende:

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
Avatar billede kryster Nybegynder
04. december 2002 - 11:17 #29
Det mest effektive ville være at at skjule hele rækken eller collen.
Mnn det kræver selvfølgelig at der ikke står andet data i dem.

Columns("E:G").Select
Selection.EntireColumn.Hidden = True
Avatar billede mile Juniormester
04. december 2002 - 11:42 #30
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" ??
Avatar billede mile Juniormester
11. december 2002 - 10:00 #31
Bak - lægger du ikke lige et svar, så jeg kan fordele nogle point imellem dig og Flemming ?
Avatar billede bak Forsker
11. december 2002 - 10:19 #32
Ok :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester