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

Cellen verbergen

Status
Niet open voor verdere reacties.

xbox360

Gebruiker
Lid geworden
7 nov 2008
Berichten
588
Ben al een tijdje aan het kijken of er iets is om cellen met een button te laten verbergen

Mijn vraag is Rij A en B zijn vaste gegevens

in de cellen C,D,E,F,G,H staat informatie in van maandag

als nu maandag voorbij is wil ik dat deze cellen verborgen worden

Dat cellen I t/m N tegen de rij B komt en dinsdag aanschuift...

Is dit mogelijk :thumb:
 
Rijen selecteren en rechts klikken: hier zijn dan de opties verbergen en zichtbaar maken

Ron
 
Yep

Ja okay dat wist ik, maar het zou makkelijk zijn als het automatisch kon

nog mooier zou zijn als maandag voorbij is en je maakt het bestandje open dat maandag
verborgen wordt en meteen dinsdag tevoorschijn komt

Maar alvast bedankt voor de snelle reactie :thumb:
 
Hallo,

Dit is mijn eerste post
Ik ken bijna niks van VB, maar met een beetje zoeken vind je veel.
Misshien dat dit je verder helpt.

Eerst moet je weten welke dag we zijn, voorbeeld cel B2 =vandaag()
Dan welke dag van de week, voorbeeld B1 =weekdag(B2;2)
Zo is maandag=1, dinsdag=2,...
Heb dan een macro gemaakt


Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
If ActiveSheet.Range("B1") = 1 Then
Columns("I:AZ").Select
Selection.EntireColumn.Hidden = True
Columns("I:AZ").Select
Selection.EntireColumn.Hidden = True
End If
If ActiveSheet.Range("B1") = 2 Then
Columns("C:H").Select
Selection.EntireColumn.Hidden = True
Columns("O:AZ").Select
Selection.EntireColumn.Hidden = True
End If
If ActiveSheet.Range("B1") = 3 Then
Columns("C:N").Select
Selection.EntireColumn.Hidden = True
Columns("U:AZ").Select
Selection.EntireColumn.Hidden = True
End If
If ActiveSheet.Range("B1") = 4 Then
Columns("C:T").Select
Selection.EntireColumn.Hidden = True
Columns("AA:AZ").Select
Selection.EntireColumn.Hidden = True
End If
If ActiveSheet.Range("B1") = 5 Then
Columns("C:Z").Select
Selection.EntireColumn.Hidden = True
Columns("AG:AZ").Select
Selection.EntireColumn.Hidden = True
End If
End Sub

Hier gaat hij eerst alle kolommen zichtbaar maken (van A tot AZ)
Dan gaat hij kijken welke dag we zijn (maandag = 1, dinsdag = 2, enz.., zaterdag en zondag zitten er niet bij), en dan gaat hij de kolommen die niet nodig zijn verbergen.
Deze moet je maar aanpassen naar believen.
Dan nog een opdrachtknop zetten en je macro toewijzen.
En bij het openen van je bestand, eerst op je macro klikken
 

Bijlagen

dominiekO,

De code kan misschien nog korter?
Dit is het eerste stukje.

Code:
Columns("A:AZ").EntireColumn.Hidden = False
If ActiveSheet.[B1] = 1 Then
Columns("I:AZ").EntireColumn.Hidden = True
Columns("I:AZ").EntireColumn.Hidden = True
End If
 
Beste Hoornvan

1 maal
Code:
Columns("I:AZ").EntireColumn.Hidden = True
volstaat

Groetjes Danny. ;)
 
danny147,

Je heb gelijk ik zie het nu pas.
Ik had enkel de code iets ingekort en zoals je kunt zien, zit dit stukje in zijn code al dubbel. #4

Code:
Sub ToonDag()
      Columns("A:AZ").EntireColumn.Hidden = False
    If ActiveSheet.[B1] = 1 Then
      Columns("I:AZ").EntireColumn.Hidden = True   
    End If
     If ActiveSheet.[B1] = 2 Then
      Columns("C:H").EntireColumn.Hidden = True
      Columns("O:AZ").EntireColumn.Hidden = True
    End If
     If ActiveSheet.[B1] = 3 Then
      Columns("C:N").EntireColumn.Hidden = True
      Columns("U:AZ").EntireColumn.Hidden = True
    End If
     If ActiveSheet.[B1] = 4 Then
      Columns("C:T").EntireColumn.Hidden = True
      Columns("AA:AZ").EntireColumn.Hidden = True
    End If
     If ActiveSheet.[B1] = 5 Then
      Columns("C:Z").EntireColumn.Hidden = True
      Columns("AG:AZ").EntireColumn.Hidden = True
    End If
End Sub
 
Laatst bewerkt:
Beste Hoornvan en Danny147,

Werkt perfect :thumb:zoals jullie het opgelost hebben

Zoals ik al zei, ik ken weinig van VB:o, maar ik leer iedere dag bij.

Er is misschien zelfs een commando dat bij het openen van het bestand de macro start, dan hoef je geen opdrachtknop te maken
 
Als je een reeks van 1,2,3,4,5 ziet staan, gebruik dan choose(...) of een formule:

Code:
Sub ToonDag()
  Columns("A:AZ").Hidden = False
  Columns(4).offset(,5*[B1]).resize(,48-5*[B1]).Hidden = True   
  Columns(3).offset(,5*([B1]-1)).resize(,5*([B1]-1)).Hidden = True
End Sub
 
snb,

Ik vond dat de code aardig was ingekort maar nu is het haast niets meer.
Korter kan volgens mij niet.:thumb:
De code heb ik geprobeerd maar geef niet het zelfde resultaat, bij mij althans.
 
@ Wim test deze dan eens uit ;) ietsjes korter , niet zoals snb daar kan ik niet aan :thumb:
 

Bijlagen

Laatst bewerkt:
Zoals ik de vraag begrepen heb is het enkel een kwestie van kolommen verbergen tot de gevraagde dag tegen kolom B schuift. Daarom mijn ideetjes(met een voorzetje van snb).
Wil je handmatig de week selecteren zie dan vb Handm, wil je het echter automatisch bij het openen v/h bestand zie dan vb Auto. En nu maar wachten op een reactie van TS
 

Bijlagen

Natuurlijk kan de code korter en ook zonder cel B1.
En is nog eenvoudiger te begrijpen ook.

Code:
Sub ToonDag()
  Columns("C:AZ").Hidden = True
  Columns(3).offset(,6*format(date,"[COLOR="Red"]w[/COLOR]",3)).resize(,6).Hidden = False   
End Sub
 
Laatst bewerkt:
Beste snb ;)

Natuurlijk kan de code korter en ook zonder cel B1.
En is nog eenvoudiger te begrijpen ook.

Code:
Sub ToonDag()
  Columns("C:AZ").Hidden = True
  Columns(3).offset(,6*format(date,"d",3).resize(,6).Hidden = False   
End Sub

Bij mij geeft hij in Excel 2007 een syntaxisfout weer
Weet jij wat het kan zijn ?

Groetjes Danny. :thumb:
 
Ja, een ontbrekend haakje; tel maar van links naar rechts, er moeten evenveel ( als ) staan.
 
Beste snb ;)

Heb ik gedaan, maar nu verbergt hij alle kolommen. :confused:

Code:
Columns(3).Offset(, 6 * Format(Date, "d", 3[COLOR="Red"])[/COLOR]).Resize(, 6).Hidden = False

In B1 staat de datum.

Groetjes Danny. :thumb:
 
Laatst bewerkt:
Zie mijn eervorige post.
 
Laatst bewerkt:
Beste snb ;)

Sorry hoor, maar wat doe ik verkeerd ?

De 3 aangepast in een 2 zoals in je eervorige post.

Zie bijgevoegd bestandje.

Groetjes Danny. :thumb:
 

Bijlagen

@Danny de fout zat niet in de 3, maar in de "d"

Code:
Sub ToonDag()
  Columns("C:AZ").Hidden = True
  Columns(3).offset(,6*format(date,"[COLOR="Red"]w[/COLOR]",3)).resize(,6).Hidden = False   
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan