ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Combobox problem (https://www.excelbanter.com/excel-programming/291382-combobox-problem.html)

Ian Coates

Combobox problem
 
I have a combobox which changes certain cells on a spreadsheet depending on
the CB selection and the content of several other cells. The problem I have
is that if one particular cell does not have a value entered, the data in
the code assumes a certain set of conditions. If data is then entered in the
cell, the other data is not corrected as it depends on CB LostFocus.

Is there a way to disable the CB but still leave it visible until certain
cells in the sheet are populated? I know about the Enabled property, but I'm
not sure how to detect the presence of data in particular cells except from
within a subroutine. I suspect I need to use the Worksheet SelectionChange,
but I only want the code to test conditions when particular cells are
changed.

Am I being thick, here?



Tom Ogilvy

Combobox problem
 
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
if application.CountA(Range("A1,B9,C13,D21") < 4 then
me.combobox1.enabled = False
Else
me.Combobox1.enabled = True
End if
End Sub

--
Regards,
Tom Ogilvy

Ian Coates wrote in message
...
I have a combobox which changes certain cells on a spreadsheet depending

on
the CB selection and the content of several other cells. The problem I

have
is that if one particular cell does not have a value entered, the data in
the code assumes a certain set of conditions. If data is then entered in

the
cell, the other data is not corrected as it depends on CB LostFocus.

Is there a way to disable the CB but still leave it visible until certain
cells in the sheet are populated? I know about the Enabled property, but

I'm
not sure how to detect the presence of data in particular cells except

from
within a subroutine. I suspect I need to use the Worksheet

SelectionChange,
but I only want the code to test conditions when particular cells are
changed.

Am I being thick, here?





Ian Coates[_2_]

Combobox problem
 
I'm having a problem with this, Tom.

I copied the code directly into my VBA editor and changed the cell (now O2)
and the criteria (now <1) but it doesn't work. I startd to have a look at
the help regarding the terms used. I cam unstuck with CountA which doesn't
appear in help. Also, what is the significance of me before combobox1?

Ian

"Tom Ogilvy" wrote in message
...
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
if application.CountA(Range("A1,B9,C13,D21") < 4 then
me.combobox1.enabled = False
Else
me.Combobox1.enabled = True
End if
End Sub

--
Regards,
Tom Ogilvy

Ian Coates wrote in message
...
I have a combobox which changes certain cells on a spreadsheet depending

on
the CB selection and the content of several other cells. The problem I

have
is that if one particular cell does not have a value entered, the data

in
the code assumes a certain set of conditions. If data is then entered in

the
cell, the other data is not corrected as it depends on CB LostFocus.

Is there a way to disable the CB but still leave it visible until

certain
cells in the sheet are populated? I know about the Enabled property, but

I'm
not sure how to detect the presence of data in particular cells except

from
within a subroutine. I suspect I need to use the Worksheet

SelectionChange,
but I only want the code to test conditions when particular cells are
changed.

Am I being thick, here?







Tom Ogilvy

Combobox problem
 
You originally said there were multiple cells that needed to have values.

If you only want to test if O2 is empty

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
if Target.Count 1 then exit sub
if Target.Address = "$O$2" then
if isempty(me.Range(""O2")) then
me.combobox1.enabled = False
Else
me.Combobox1.enabled = True
End if
End If
End Sub

Me refers to the sheet holding the code.

--
Regards,
Tom Ogilvy



"Ian Coates" wrote in message
...
I'm having a problem with this, Tom.

I copied the code directly into my VBA editor and changed the cell (now

O2)
and the criteria (now <1) but it doesn't work. I startd to have a look at
the help regarding the terms used. I cam unstuck with CountA which doesn't
appear in help. Also, what is the significance of me before combobox1?

Ian

"Tom Ogilvy" wrote in message
...
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
if application.CountA(Range("A1,B9,C13,D21") < 4 then
me.combobox1.enabled = False
Else
me.Combobox1.enabled = True
End if
End Sub

--
Regards,
Tom Ogilvy

Ian Coates wrote in message
...
I have a combobox which changes certain cells on a spreadsheet

depending
on
the CB selection and the content of several other cells. The problem I

have
is that if one particular cell does not have a value entered, the data

in
the code assumes a certain set of conditions. If data is then entered

in
the
cell, the other data is not corrected as it depends on CB LostFocus.

Is there a way to disable the CB but still leave it visible until

certain
cells in the sheet are populated? I know about the Enabled property,

but
I'm
not sure how to detect the presence of data in particular cells except

from
within a subroutine. I suspect I need to use the Worksheet

SelectionChange,
but I only want the code to test conditions when particular cells are
changed.

Am I being thick, here?









Ian Coates

Combobox problem
 
Sorry Tom. I didn't realise I'd have to us edifferent code for single
and multiple cells. Your single cell solution worked perfectly and I
have a multiple cell requirement in another spreadsheet so I'll check
our your other solution when I get round to that.

Many thanks

Ian



*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!


All times are GMT +1. The time now is 11:31 PM.

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