View Single Post
  #18   Report Post  
William
 
Posts: n/a
Default

Hi Pennington

Have a look at your original and subsequent posts - each time a suggested
solution is put forward you are "changing the goalposts". I think perhaps
you need to start again and clearly set out the problem you are having and
what you want to achieve.

-----
XL2003
Regards

William



"Pennington" wrote in message
...
William
Many thanks I have made progress but I am still not done.
Firstly the check box that causes C4 to change is not hidden.
I think its complicated because I have 4 items of data that I am trying to
display gradually in response to 4 questions. When the first question is
answered correctly the 2nd item of data appears and so on. I need to
prevent
users answering Q 2 before they have given a correct answer to Q1. The box
grouping did work but the boxes didn't stay in the cells so I chose to
select
one check box and for some reason it works.
However, I now realize I have another issue.
Providing the user goes sequentialy through the questions it works fine
but
if he unchecks lets say Q1 having answered Q 2, 3 & 4 correctly, the score
will be invalid. The values are added and displayed as percentages so that
if
each Question scores say 25%, so answering Q1 correctly = 25% and then Q2
correctly = 50%, then Q3 correctly= 75% and finally Q4 correctly = 100%
but
if he then goes and changes Q1 to produce a FALSE value the score will be
75%
not 0%. So how can I cause the other values to change to FALSE if previous
values to have been set to TRUE from the checkboxes?

Maybe is requires some deft programming, which I am unable to do but if
there is a simple solution I would be most grateful


"William" wrote:

1. Use your mouse to hover over the toolbars, right-click and select
"Customise". Select the Command tab and then select "Drawing" from the
"Categories" section. From the "Commands" section, select "Drawing
Objrcts"
and drag the icon to one of your toolbars. Click "Close" to return to the
Excel sheet.

2. Select the "Drawing Objects" icon from your toolbar and then select
the
check-boxes which will be effected by your code. Hover over one of the
selected checkboxes and select "GroupingGroup". Either accept the name
given to the group in the "Name" box or create your own name for the
group.

3. Since cell C4 is being changed via a check box, use the "Calculate"
event....

Private Sub Worksheet_Calculate()
With Sheets("Sheet1")
If .Range("C4").Value = True Then
..Range("C7:M19").EntireRow.Hidden = False
..Shapes("cbgroup").Visible = True
Else
..Range("C7:M19").EntireRow.Hidden = True
..Shapes("cbgroup").Visible = False
End If
End With
End Sub

But if it is the check boxes that cause C4 to change, how are you going
to
change the check box if it is hidden?
-----
XL2003
Regards

William



"William" wrote in message
...
Pennington

Firstly, dont use the "Calculate" event, use the "Change" event to
execute
your code.

In answer to your post, select all the checkboxes that you want to be
hidden / visible when you execute your code to hide / unhide rows and
give
a name to that selection of checkboxes - In my example I have used
"cbgroup".

Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("ProcessA")
If Not Target(1).Address = .Range("C4").Address Then Exit Sub
.Range("C7:M19").EntireRow.Hidden = False
.Shapes("cbgroup").Visible = True
If .Range("C4").Value = False Then
.Range("C7:M19").EntireRow.Hidden = True
.Shapes("cbgroup").Visible = False
End If
End With
End Sub

--

-----
XL2003
Regards

William



"Pennington" wrote in message
...
William
I have now got it to work using the sheetcalculate command and have
decided
to hide rows rather than columns but I have got another problem. The
True
and
False values are produced from check boxes but when the rows are
hidden
the
check boxes are not - they all move down onto the unhidden rows. How
can
I
hide the check boxes or is there another way of selecting a value by
the
click of a mouse?

"William" wrote:

Pennington

Place the code in the "ThisWorkbook" module, NOT a general module.

-----
XL2003
Regards

William



"Pennington" wrote in message
...
Thank William but I can't get it to work. I have placed this code
in
Module 1
of the workbook
Private Sub Workbook_Open()
With Sheets("ProcessA")
Range("E3:M3").EntireColumn.Hidden = False
If .Range("C4").Value = False Then _
Range("E3:M3").EntireColumn.Hidden = True
End With
End Sub
Saved the file closed and opening it but all the columns are still
showing

"William" wrote:

Hi..

Private Sub Workbook_Open()
With Sheets("Sheet1")
..Range("E3:M3").EntireColumn.Hidden = False
If .Range("C4").Value = False Then _
..Range("E3:M3").EntireColumn.Hidden = True
End With
End Sub

-----
XL2003
Regards

William




"Pennington" wrote in
message
...
I am trying to hide a range of cells when the value in another
cell
is
FALSE
and show the range of cells when the value is TRUE. My code is
as
follows
but
it doesn't work
Private Sub Workbook_Open()
If Range("C4").Value = False Then
Range("E4:M40").Hide = True
End If
If Range("C4").Value = True Then
Range("E4:M40").Unhide = False
End Sub

How do I make this work?