• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Voorwaardelijk verbergen van kolommen

Status
Niet open voor verdere reacties.

RWursten

Nieuwe gebruiker
Lid geworden
9 mei 2011
Berichten
3
Goedemiddag,

Voor een afstudeeronderzoek ben ik momenteel bezig met het opzetten van een Vendor Rating System(VRS). Dit systeem wordt ontwikkeld in Excel.

Nu loop ik tegen het volgende probleem aan:
Om het systeem overzichtelijk te houden, wil ik graag de overbodige kolommen (tijdelijk) verbergen. De inhoud van cel G3 moet bepalend zijn voor de lay-out van het systeem.
Indien cel G3 de waarde '2' bevat, dienen de kolommen L & M teworden verborgen.
Indien cel G3 de waarde '3' bevat, dienen de kolommen L & M te worden weergegeven.

Cel G3 kan enkel de waarde 2 of 3 hebben.

Ben zelf al bezig geweest met VBA-codes, maar krijg het nog niet voor elkaar.

Iemand een idee hoe dit kan worden geprogrammeerd/ingesteld?

Alvast bedankt!
 
RWursten,

Een simpele code voor achter het blad.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Range("G3").Value = 2 Then Columns("L:M").Hidden = True
  If Range("G3").Value = 3 Then Columns("L:M").Hidden = False
End Sub
 
Iets vergelijkbaars had ik ook gevonden:
Code:
Private Sub Workbook_Open()

    If [G3].FormulaR1C1 = "2" Then
    [L:M].EntireColumn.Hidden = True
    Else: [L:M].EntireColumn.Hidden = False
    End If
End Sub
 
ExcelAmateur & Robdgr! Hartelijk dank voor de snelle reactie.
Heb het voor elkaar gekregen!

Met vriendelijke groet,
RWursten
 
Iets korter:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Columns("L:M").Hidden = [G3] = 2
End Sub

Met vriendelijke groet,


Roncancio
 
Goedemorgen,

Het is inmiddels gelukt om de kolommen voorwaardelijk te verbergen.(oplossing ExcelAmateur)
Nu loop ik echter direct tegen het volgende probleem aan.

Op het werkblad mogen slechts een beperkt aantal cellen worden ingevuld/gewijzigd.
De rest van het werkblad dient te worden beveiligd.

Wanneer ik nu een waarde invul in een 'onbeveiligde' cel, wordt onderstaande foutmelding weergegeven:

Fout 1004 tijdens uitvoering:
Eigenschap Hidden van klasse Range kan niet worden ingesteld.


Iemand een idee hoe dit kan worden verholpen?
 
Dit is op te lossen door in de code
- beveiliging eraf te halen
- al dan niet kolommen verbergen
- beveiliging erop zetten

Dus bijvoorbeeld:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect "wachtwoord"
Columns("L:M").Hidden = [G3] = 2
ActiveSheet.Protect "wachtwoord"
End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan