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

Verbergen variabele kolommen

Status
Niet open voor verdere reacties.

Symphysodon

Gebruiker
Lid geworden
14 dec 2012
Berichten
468
Beste forummers,

Het is me niet helemaal duidelijk hoe ik op drie variabele kolommen met de aanduidingen D, ID en RS na, de rest van de kolommen kan verbergen.
Dit is wat ik heb:
Code:
k = Rows(1).SpecialCells(xlCellTypeLastCell).Column
Range("1:" & k).EntireColumn.Hidden = True
Range([D], [ID], [RS]).EntireColumn.Hidden = False

en wat niet werkt.

Alvast bedankt

grt
Marco
 
Laatst bewerkt:
Code:
usedrange.entirecolumn.hidden=true
Range("D1,ID1,RS1").entirecolumn.hidden=false
 
Laatst bewerkt:
De aanduidingen zijn kolomnummers geen letters. Het werkt niet, er gebeurt niets

Ik heb de code aangepast
Code:
k = [1:1].CurrentRegion.Columns.Count
Range("1:" & k).EntireColumn.Hidden = True
Set Rng = Union(Columns([D]), Columns([ID]), Columns([RS]))
Union(Columns([D]), Columns([ID]), Columns([RS])).EntireColumn.Hidden = False

Het werkt helaas nog niet goed.
De code
Code:
Range("1:" & k).EntireColumn.Hidden = True
verbergt alle kolommen en niet de kolommen 1 tot en met 26

En de code
Code:
Union(Columns([D]), Columns([ID]), Columns([RS])).EntireColumn.Hidden = False
werkt alleen met verbergen, niet met zichtbaar maken.
 
Het is gelukt:
Code:
[a1].CurrentRegion.EntireColumn.Hidden = True
Set Rng = Union(Columns([D]), Columns([ID]), Columns([RS]))
Union(Columns([D]), Columns([ID]), Columns([RS])).EntireColumn.Hidden = False

Bedankt voor het meedenken.
 
Soms is het nodig een macro te laten lopen voordat je het effekt kunt beoordelen:

Code:
Sub M_snb()
    UsedRange.Columns.Hidden = True
    Range("D1,F1,J1").Columns.Hidden = False
End Sub
 

Bijlagen

Hoi snb,
haha heb je het nu over jezelf. Ik zal het wel niet goed uitleggen hoor, maar de variabelen: D, ID en RS zijn cijfers en geen letters (zie #3). In jouw code worden de kolommen D, F en J zichtbaar gemaakt. Bij mij is D bijvoorbeeld 1, in dit geval staat de D voor Datum en niet voor de kolom D:
Code:
D = .[a1].EntireRow.Cells.Find("Datum").Column

Het is ook lastig zonder voorbeeldbestand.
 
Het is helaas niet altijd mogelijk een voorbeeldbestand te plaatsen in verband met kwetsbare gegevens. Ik probeer altijd wel een fictief voorbeeldbestand te maken, maar dat is soms erg lastig omdat de vraag vaak een onderdeel is van een grotere code. Het probleem wat ik dan krijg is dat het antwoord wat ik krijg werkt op het voorbeeldbestand maar niet op mijn eigen code. De eerste regel van het antwoord van snb: UsedRange, gaf bij mij een foutmelding terwijl het in voorbeeldbestand goed gaat. Ik ben er uiteindelijk wel achter gekomen waar dat aan lag, maar in plaats van 1 probleem heb ik dan meerdere problemen die ik moet oplossen. Afgezien daarvan zijn de meeste vragen van mij zo simpel dat een beetje programmeur zonder editor en/of voorbeeldbestand antwoord kan geven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan