• 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.

Kolommen verbergen/zichtbaar maken op basis van kolomnaam

Status
Niet open voor verdere reacties.

jansm

Gebruiker
Lid geworden
2 apr 2014
Berichten
421
is het mogelijk om mbv VBA kolommen te verbergen/zichtbaar maken op basis van kolomnaam in regel 3?
Bijvoorbeeld in de bijlage de kolommen met kop M2, M3, P5 en U7 en U8 te verbergen/zichtbaar te maken.
 
Jansm,

Bedoel je zo iets?
 

Bijlagen

  • KolommenVerbergen_1.xlsb
    24,5 KB · Weergaven: 95
Laatst bewerkt:
dag EA, bedankt voor je antwoord.
Nee, dit bedoel ik niet. Dit is op basis van "kolom-letter". Op dit forum heb ik al meerdere mooie oplossing gevonden die hetzelfde doen, ook op basis van kolomnummer. En dan met 1 knop verbergen/tonen.
In het voorbeeld is kolom 4 de eerste kolom, maar dat zou ook een andere kolom kunnen zijn. Vandaar dat ik echt wil verbergen/tonen op basis van de kolomnaam (M2, M3, P5 enz). De kolomnamen staan wel altijd in regel 3.
 
Ik heb het even voor je aangepast en het werkt.

@ Ik heb de regel aangepast, nu kijkt hij naar de juiste regel met kolom koppen.
 

Bijlagen

  • KolommenVerbergen_2.xlsb
    26,8 KB · Weergaven: 79
Laatst bewerkt:
dank voor tip. In mijn geval kan ik dan net zo goed met de muis de kolommen selecteren en verbergen. Bij mij gaat het altijd om dezelfde set kolommen die verborgen moeten worden (zelfde tekst in regel 3) mogelijk in een andere volgorde.

Zie nieuwe bijlage met 2 setjes kolommen (waarvan er normaal maar 1 set voor komt).
Bekijk bijlage KolommenVerbergen_X.xlsb
 
oh, bedankt voor je moeite. Maar lees aub mijn vorige bericht
 
Misschien dat iemand een goede oplossing voor je heeft, ik haak af.

Ik vond het bestandje met de keuze welke je wil verbergen een goede oplossing, maar wie ben ik.

Suc6 met de zoektocht. :thumb:
 
Misschien zo??
Kies een naam in B2, iedere kolom met die naam wordt verborgen.
 

Bijlagen

  • KolommenVerbergen_X-1.xlsb
    22,6 KB · Weergaven: 56
OK EA. De eerste heeft zich al gemeld. Prachtig!
He gast0660, klasse. Maar omdat er meerdere kolommen tegelijk verborgen moeten worden werkt "de B2" voor mij niet. Ik heb hem voor mijn doelstelling aan kunnen passen en het werkt! Het zijn namelijk wel altijd dezelfde "koppen" die verborgen moeten worden. Alleen voor ca 8 kolommen krijg je een code van 8 lussen (als ik het zo mag noemen). Is dat niet eenvoudiger op te schrijven?
Bekijk bijlage Kopie van KolommenVerbergen_X-2.xlsb
 
Code:
Private Sub ToggleButton1_Click()
Dim c As Range
 If ToggleButton1.Caption = "Tonen" Then
        ToggleButton1.Caption = "Verbergen"
    Else
        ToggleButton1.Caption = "Tonen"
    End If
For Each c In Range("C3:K3,N3:V3").Cells
         If c.Value = "M2" Or c.Value = "P6" Then
            c.EntireColumn.Hidden = ToggleButton1
End If
    Next c
End Sub
 
Laatst bewerkt:
Uitgaande van je vraag in #1.
Op basis waarvan bepaal je dat de kolommen met de koppen M2, M3, P5 en U7 en U8 verborgen of zichtbaar gemaakt moeten worden?
 
Hallo Edmoor,
in de te verbergen kolommen staat relevante data in maar hoeft niet altijd zichtbaar te zijn. Als ik deze kan verbergen dan wordt de tabel voor mij overzichtelijker.
 
Dat begrijp ik, maar is geen antwoord op m'n vraag. Gaat het dus altijd om diezelfde kolomnamen?
 
Nog een mogelijkheid
 

Bijlagen

  • KolommenVerbergen_X-2.xlsb
    27,5 KB · Weergaven: 47
Ik denk dat dit de bedoeling is:
Bekijk bijlage Kolommen Verbergen.xlsb

Gebruikte code:
Code:
Private Sub ToggleButton1_Click()
    For Each cl In Range("A3:" & Chr(ActiveSheet.UsedRange.Columns.Count + 65) & "3")
        If cl.Value <> "" And InStr(1, "M2 M3 P5 U7 U8", cl.Value) > 0 Then
            Columns(cl.Column).Hidden = Not Columns(cl.Column).Hidden
        End If
    Next cl
    ToggleButton1.Caption = IIf(ToggleButton1, "Tonen", "Verbergen")
End Sub
 
Laatst bewerkt:
simpeler?
Code:
For Each cl In[COLOR=#0000ff] Range("A3", Cells(3, Columns.Count).End(xlToLeft))[/COLOR]
 
Dan mis je wat voor het weer zichtbaar maken omdat deze niet het juiste getal terug geeft wanneer de kolommen verborgen zijn.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan