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

Lege rijen in kolommen verbergen

Status
Niet open voor verdere reacties.

Esducsafe

Gebruiker
Lid geworden
2 sep 2009
Berichten
185
Beste Helpers,
Op bijgevoegde Excel Map staan twee werkbladen met kolommen waarin lege rijen voorkomen. De lege rijen wil ik door op een programmaknop te klikken verbergen. Op werkblad 1 werkt de (op Helpmij gevonden) opdrachtcode perfect. Maar op werkblad 2 moet de opdracht lege rijen in twee kolommen verbergen, dit is mij (het aanpassen programmacode) nog niet gelukt. Wie weet hoe de programmacode gewijzigd moet worden?
Alvast bedankt.
mvg
Esko
 

Bijlagen

Hoi Esko,

Het antwoord is waarschijnlijk heel eenvoudig, let op de rode tekst uit je code:
Sheets(2).Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden
Stel dat daar EntireColumn zou staan?

Groet,

Jeroen
 
Hei Jeroen,
Jouw idee hoe een kolom (in dit geval C) te verbergen werkt, maar dat is niet de bedoeling. Ik zoek een oplossing om lege rijen (niet gebruikte) in Kolom B en C gelijktijdig te verbergen/weer tonen.
Bedankt voor je reactie.
Esko


Hoi Esko,

Het antwoord is waarschijnlijk heel eenvoudig, let op de rode tekst uit je code:
Sheets(2).Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden
Stel dat daar EntireColumn zou staan?

Groet,

Jeroen
 
Hoi Esko,

Code iets aangepast, ipv Columns(2) gebruik ik nu een range. Als in kolom A nu een waarde staat, dan komt de rij weer tevoorschijn.

Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Verbergen" Then
CommandButton1.Caption = "Weer tonen"
On Error Resume Next
Sheets(2).Range("B5:B99").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Sheets(2).Range("A5:A99").SpecialCells(xlCellTypeConstants, xlNumbers).Offset(-1, 0).EntireRow.Hidden = False
ElseIf CommandButton1.Caption = "Weer tonen" Then
CommandButton1.Caption = "Verbergen"
On Error Resume Next
Sheets(2).Columns(2).Range("A5:A99").EntireRow.Hidden = False
End If
End Sub

Jroet,

Jeroen
 
Hei Jeroen,
Met jouw codes aan de gang geweest (zie bijlage). Waarom het niet werkt heb ik niet kunnen ontdekken. Nog een idee of iemand anders? Ik ben erg benieuwd of wat ik wil kan.
mvg
Esko

Hoi Esko,

Code iets aangepast, ipv Columns(2) gebruik ik nu een range. Als in kolom A nu een waarde staat, dan komt de rij weer tevoorschijn.

Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Verbergen" Then
CommandButton1.Caption = "Weer tonen"
On Error Resume Next
Sheets(2).Range("B5:B99").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Sheets(2).Range("A5:A99").SpecialCells(xlCellTypeConstants, xlNumbers).Offset(-1, 0).EntireRow.Hidden = False
ElseIf CommandButton1.Caption = "Weer tonen" Then
CommandButton1.Caption = "Verbergen"
On Error Resume Next
Sheets(2).Columns(2).Range("A5:A99").EntireRow.Hidden = False
End If
End Sub

Jroet,

Jeroen
 

Bijlagen

Je gebruikt dezelfde naam van commandbutton als van Sheet 1.
Verander de naam bij eigenschappen van de button in CommandButton2, en verander de code:
Code:
Private Sub CommandButton[COLOR="Red"]2[/COLOR]_Click()
If CommandButton[COLOR="red"]2[/COLOR].Caption = "Verbergen" Then
CommandButton[COLOR="red"]2[/COLOR].Caption = "Weer tonen"
  On Error Resume Next
  Sheets(3).Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
ElseIf CommandButton[COLOR="red"]2[/COLOR].Caption = "Weer tonen" Then
 CommandButton[COLOR="red"]2[/COLOR].Caption = "Verbergen"
  On Error Resume Next
  Sheets(3).Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
End If
End Sub
Naar mijn idee gaat het nu wel goed.
 
Hallo

Als je de lege cellen in de B en C kolom er uit wilt hebben pas je code dan als volgt aan.
Code:
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Verbergen" Then
CommandButton1.Caption = "Weer tonen"
On Error Resume Next
Sheets("sheet 2 (3)").Range("B5:B99").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
[COLOR="red"]Sheets("sheet 2 (3)").Range("C5:C99").SpecialCells(xlCellTypeConstants).EntireRow.Hidden = False[/COLOR]
Sheets("sheet 2 (3)").Range("A5:A99").SpecialCells(xlCellTypeConstants, xlNumbers).Offset(-1, 0).EntireRow.Hidden = False
ElseIf CommandButton1.Caption = "Weer tonen" Then
CommandButton1.Caption = "Verbergen"
On Error Resume Next
Sheets("sheet 2 (3)").Range("B5:B99").EntireRow.Hidden = False
Sheets("sheet 2 (3)").Range("A5:A99").EntireRow.Hidden = False
End If
End Sub
Met vr gr
Jack
 
Hallo

Als je de lege cellen in de B en C kolom er uit wilt hebben pas je code dan als volgt aan .
Jack

Hallo Jack ;) het is niet heel duidelijk wat de TS eigenlijk wil in post #3 staat volgende
Jouw idee hoe een kolom (in dit geval C) te verbergen werkt, maar dat is niet de bedoeling. Ik zoek een oplossing om lege rijen (niet gebruikte) in Kolom B en C gelijktijdig te verbergen/weer tonen.
We wachten af naar de reactie van TS
 
Beste Jack, Jeroen, Daniel en Harry,
Allemaal bedankt voor jullie bijdrage. De oplossing van Jack werkt zoals door mij was bedoelt.Lege rijen in kolom B en C kunnen nu door een druk op de button verborgen worden. Nogmaals allemaal harstikke bedankt.
met vriendelijke groet,
Esko


Hallo

Als je de lege cellen in de B en C kolom er uit wilt hebben pas je code dan als volgt aan.
Code:
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Verbergen" Then
CommandButton1.Caption = "Weer tonen"
On Error Resume Next
Sheets("sheet 2 (3)").Range("B5:B99").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
[COLOR="red"]Sheets("sheet 2 (3)").Range("C5:C99").SpecialCells(xlCellTypeConstants).EntireRow.Hidden = False[/COLOR]
Sheets("sheet 2 (3)").Range("A5:A99").SpecialCells(xlCellTypeConstants, xlNumbers).Offset(-1, 0).EntireRow.Hidden = False
ElseIf CommandButton1.Caption = "Weer tonen" Then
CommandButton1.Caption = "Verbergen"
On Error Resume Next
Sheets("sheet 2 (3)").Range("B5:B99").EntireRow.Hidden = False
Sheets("sheet 2 (3)").Range("A5:A99").EntireRow.Hidden = False
End If
End Sub
Met vr gr
Jack
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan