ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   I could use some help on a modification... (https://www.excelbanter.com/excel-programming/389381-i-could-use-some-help-modification.html)

Knutsel

I could use some help on a modification...
 
Hello,

I'm using a macro to hide certain rows based on clicking a checkbox.
Normaly the rows I want to hide are laying beneith each other but now
I want to hide rows who are lying separate.

The macro code I have bin using so far (for hiding group 1) is this :

--------------------------------------------------------------------------------
Private Sub CheckBox1_Click()
BeginRow = 2
EndRow = 4
ChkCol = 1
If CheckBox1.Value = True Then
For RowCnt = BeginRow To EndRow
Cells(RowCnt, ChkCol).EntireRow.Hidden = False
Next RowCnt
Else
For RowCnt = BeginRow To EndRow
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
Next RowCnt
End If
End Sub
--------------------------------------------------------------------------------
An example of the data would be something like :

groep naam
1 eik
1 den
1 beuk
2 appel
2 kers
2 aardbei
--------------------------------------------------------------------------------
In the new situation the data would be something like :

groep naam
1 eik
1 den
1 beuk
2 appel
1 kers
2 aardbei
--------------------------------------------------------------------------------

How can I change the range of rows in the macro so that it hide all
the "groep 1" rows on the click of the checkbox ?

Any help is appriciated.

Nico


Don Guillett

I could use some help on a modification...
 

Why not just use datafilterautofilter on the groups?
--
Don Guillett
SalesAid Software

"Knutsel" wrote in message
oups.com...
Hello,

I'm using a macro to hide certain rows based on clicking a checkbox.
Normaly the rows I want to hide are laying beneith each other but now
I want to hide rows who are lying separate.

The macro code I have bin using so far (for hiding group 1) is this :

--------------------------------------------------------------------------------
Private Sub CheckBox1_Click()
BeginRow = 2
EndRow = 4
ChkCol = 1
If CheckBox1.Value = True Then
For RowCnt = BeginRow To EndRow
Cells(RowCnt, ChkCol).EntireRow.Hidden = False
Next RowCnt
Else
For RowCnt = BeginRow To EndRow
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
Next RowCnt
End If
End Sub
--------------------------------------------------------------------------------
An example of the data would be something like :

groep naam
1 eik
1 den
1 beuk
2 appel
2 kers
2 aardbei
--------------------------------------------------------------------------------
In the new situation the data would be something like :

groep naam
1 eik
1 den
1 beuk
2 appel
1 kers
2 aardbei
--------------------------------------------------------------------------------

How can I change the range of rows in the macro so that it hide all
the "groep 1" rows on the click of the checkbox ?

Any help is appriciated.

Nico



Don Guillett

I could use some help on a modification...
 
IF?? you mean that it is unsorted, it doesn't matter.
IF? you mean that there are blanks in the dataselect ALL rowsthen
autofilter.
Sub filterem()
With Range("A1:A" & Cells(Rows.Count, "a").End(xlUp).row)
.AutoFilter
.AutoFilter Field:=1, Criteria1:="a"
End With
End Sub
--
Don Guillett
SalesAid Software

"Knutsel" wrote in message
oups.com...
Hi Don,

Because autofilter does not work when the rows are not contigues.
Or I'm not doing it right...

Nico





All times are GMT +1. The time now is 05:14 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com