ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   dynamic combobox (https://www.excelbanter.com/excel-programming/339351-dynamic-combobox.html)

john_t_h[_22_]

dynamic combobox
 

I have a worksheet that lists a number of categories to populate a
comobobox


Code:
--------------------
category.List = Worksheets("category").Range("A2:A10").Value
--------------------


This works great, however I want to be able to vary the number of rows
listed here and have the combobox display the rows dynamicly.

I searched through the forums and found a post that looked like the
answer.


Code:
--------------------
catRange = OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A,1))
--------------------


Unfortunatley I get a compile error "Invalid character" at the first
*$*

What does this mean?

Am I on the right track?

I'm using Office 97 if that makes a difference.


--
john_t_h
------------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...fo&userid=4826
View this thread: http://www.excelforum.com/showthread...hreadid=461416


Rowan[_8_]

dynamic combobox
 
Hi John

It looks like the post you found was referring to creating a dynamic
named range, probably for a data validation list.

This would work by creating a named range using:

=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1 ) < note minor change

in the Refers To field. Assuming your named range is called MyRange you
could then select a cell and use DataValidation. Allow List, Source
=MyRange. This would give you a drop down in the cell which would
dynamically increase according to the data in column A.

To populate a combobox dynamically you could loop through the the
contents of column A and add items to the combobox. This example assumes
headings so starts in row 2:

Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Me.ComboBox1.AddItem Cells(i, 1).Value
Next i

Hope this helps
Rowan

john_t_h wrote:
I have a worksheet that lists a number of categories to populate a
comobobox


Code:
--------------------
category.List = Worksheets("category").Range("A2:A10").Value
--------------------


This works great, however I want to be able to vary the number of rows
listed here and have the combobox display the rows dynamicly.

I searched through the forums and found a post that looked like the
answer.


Code:
--------------------
catRange = OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A,1))
--------------------


Unfortunatley I get a compile error "Invalid character" at the first
*$*

What does this mean?

Am I on the right track?

I'm using Office 97 if that makes a difference.



T-Žex[_64_]

dynamic combobox
 

Hi john! If you look at the properties inspector for combo box, you'll
find a 'ListFillRange' property. You can set this to a range where you
want to get the list of values from, e.g. "A:A" - for column "A",
"A1:A10" for cells A1-A10, etc... Unfortunately, empty values will also
be included. So, if your range contains empty cells, your list will also
have empty entries. If you don't want this, maybe you can try the code
below.

Function NonEmpty receives a single column range, scans for non-empty
values in the range and stores them in an array. The array returned,
thus, has empty values removed (except for 1 - last).

Worksheet_Change (test sub) is the event hander for the worksheet where
the list of values is located. I'm assuming you're using column A as the
list. I'm also assuming you have the combo box (named ComboBox1) in the
sheet.


Code:
--------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'if data has been added to (deleted from/modified in) column A - the combobox "reference" column, update the combo box
Dim ComboList As Range
Set ComboList = Range("A1:" & Range("A65536").End(xlUp).AddressLocal)

If ComboList.Rows.Count = 1 Then
Set ComboList = Range("A1:A2")
End If

ComboBox1.List = NonEmpty(ComboList)
End If
End Sub

'Removes empty values...
Function NonEmpty(ByVal Target As Range) As Variant
Dim NEArray() As Variant
Dim NECount As Long
Dim NEStart As Long
Dim NEEnd As Long
Dim NEIndex As Long

ReDim NEArray(Target.Rows.Count)
NEStart = LBound(NEArray) '0 or 1 depending on Option Base
NEEnd = UBound(NEArray)
NECount = NEStart

For NEIndex = NEStart To NEEnd
If (Not IsEmpty(Target.Rows(NEIndex + 1 - NEStart))) Then
NEArray(NECount) = Target.Rows(NEIndex + 1 - NEStart).Value
NECount = NECount + 1
End If
Next NEIndex

ReDim Preserve NEArray(NECount)

NonEmpty = NEArray
End Function
--------------------


Hope this helps...

john_t_h Wrote:
I have a worksheet that lists a number of categories to populate a
comobobox


Code:
--------------------
category.List = Worksheets("category").Range("A2:A10").Value

--------------------


This works great, however I want to be able to vary the number of
rows listed here and have the combobox display the rows dynamicly.

I searched through the forums and found a post that looked like the
answer.


Code:
--------------------
catRange = OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A,1))

--------------------


Unfortunatley I get a compile error "Invalid character" at the first
*$*

What does this mean?

Am I on the right track?

I'm using Office 97 if that makes a difference.



--
T-Žex
------------------------------------------------------------------------
T-Žex's Profile: http://www.excelforum.com/member.php...o&userid=26572
View this thread: http://www.excelforum.com/showthread...hreadid=461416


john_t_h[_23_]

dynamic combobox
 

Hi, thanks for the reply.

I actually figured out what my problem is. Being a VB novice (my
coding background is PHP) I was trying to declare a variable then use
it to fill the combobox


Code:
--------------------
' this give me an error
catRange = OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A,1))
category.List = Worksheets("category").Range("catRange").Value
--------------------

When I included it all in one it works fine

Code:
--------------------
' this works fine
category.List = Worksheets("category").Range("OFFSET(category!$A$1 ,0,0,COUNTA(category!$A:$A,1))").Value
--------------------


--
john_t_h
------------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...fo&userid=4826
View this thread: http://www.excelforum.com/showthread...hreadid=461416


john_t_h[_24_]

dynamic combobox
 

Rowan Wrote:

This would work by creating a named range using:

=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1 ) < note mino
change



Thanks Rowan,

Minor change you suggested got rid a blank entry in the combobox :)

Now that this working great it occured to me that once the form write
the row the worksheet, users can still go in and corrupt the data b
over-typing. The whole reason to use a UserForm was to maintai
consistaincy in the values to allow sorting and reporting.

Is there a way when the value it inserted from the Userform, th
worksheet cell is formated as a combobox. Obviously the original for
value would be displayed, but I would like the users to be able t
select one of the other values at a later date.

This is a cutdown version of my form submit code (at home now and m
real one is at work)


Code
-------------------
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.ComboBox1.Value

'clear the data
Me.ComboBox1.Value = ""

End Sub

-------------------


Is there something I can do at this ws.Cells(iRow, 1).Value
Me.ComboBox1.Value stage to provide the cell format

--
john_t_
-----------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...nfo&userid=482
View this thread: http://www.excelforum.com/showthread.php?threadid=46141


Rowan[_8_]

dynamic combobox
 
Hi John

I would add data validation to the cell so that users can only select
values from the list as it appears on the form.

First you would need to add a named range using the same offset formula
used for the combobox. You could either do this manually (it only needs
to be done once) or via code eg:

ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"

You click event could then look like this;

Code:
--------------------
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'Add data validation
With ws.Cells(iRow, 1).Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=theList"
.IgnoreBlank = True
End With

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.ComboBox1.Value

'clear the data
Me.ComboBox1.Value = ""

End Sub

--------------------

Hope this helps
Rowan

john_t_h wrote:
Rowan Wrote:

This would work by creating a named range using:

=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A) ,1) < note minor
change




Thanks Rowan,

Minor change you suggested got rid a blank entry in the combobox :)

Now that this working great it occured to me that once the form writes
the row the worksheet, users can still go in and corrupt the data by
over-typing. The whole reason to use a UserForm was to maintain
consistaincy in the values to allow sorting and reporting.

Is there a way when the value it inserted from the Userform, the
worksheet cell is formated as a combobox. Obviously the original form
value would be displayed, but I would like the users to be able to
select one of the other values at a later date.

This is a cutdown version of my form submit code (at home now and my
real one is at work)


Code:
--------------------
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.ComboBox1.Value

'clear the data
Me.ComboBox1.Value = ""

End Sub

--------------------


Is there something I can do at this ws.Cells(iRow, 1).Value =
Me.ComboBox1.Value stage to provide the cell format?



john_t_h[_25_]

dynamic combobox
 

Hi Rowan,

Could you expand this part for me


Code
-------------------
ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)
-------------------


ActiveWorkbook - no problems
Names - I'm guessing the worksheet name
Add Name - Where does this come from?
:="theList", Assigning the range to this variable
RefersToR1C1 - Where does this come from?
OFFSET(category!R1C1,0,0,COUNTA(category!C1),1) - Issume I can stil
use OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1) to allow th
list to be dynamic?

Also is the data validation limited to 8 rows? I thought I rea
somewhere that it was??

Thanks

Rowan Wrote:
Hi John

I would add data validation to the cell so that users can only select
values from the list as it appears on the form.

First you would need to add a named range using the same offse
formula
used for the combobox. You could either do this manually (it onl
needs
to be done once) or via code eg:

ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"

You click event could then look like this;

Code:
--------------------
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'Add data validation
With ws.Cells(iRow, 1).Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=theList"
.IgnoreBlank = True
End With

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.ComboBox1.Value

'clear the data
Me.ComboBox1.Value = ""

End Sub

--------------------

Hope this helps
Rowan

john_t_h wrote:
Rowan Wrote:

This would work by creating a named range using:

=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A) ,1) < note minor
change




Thanks Rowan,

Minor change you suggested got rid a blank entry in the combobox :)

Now that this working great it occured to me that once the for

writes
the row the worksheet, users can still go in and corrupt the data by
over-typing. The whole reason to use a UserForm was to maintain
consistaincy in the values to allow sorting and reporting.

Is there a way when the value it inserted from the Userform, the
worksheet cell is formated as a combobox. Obviously the origina

form
value would be displayed, but I would like the users to be able to
select one of the other values at a later date.

This is a cutdown version of my form submit code (at home now and my
real one is at work)


Code:
--------------------
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.ComboBox1.Value

'clear the data
Me.ComboBox1.Value = ""

End Sub

--------------------


Is there something I can do at this ws.Cells(iRow, 1).Value =
Me.ComboBox1.Value stage to provide the cell format?



--
john_t_
-----------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...nfo&userid=482
View this thread: http://www.excelforum.com/showthread.php?threadid=46141


Rowan[_8_]

dynamic combobox
 
Hi John

This method adds a named range to the workbooks Names collection. So
Activeworkbook.Names is the collection of all names in the book which
includes named ranges, print_area and a few others.

ActiveWorkbook.Names.Add therefore adds a new name to this collection
and in this example I used "theList" as the name.

The RefersToR1C1 is using the R1C1 notation to set the range for the
named range and hence "=OFFSET(category!R1C1,0,0,COUNTA(category!C1),1)" .

You could also use the A1 notation:

ActiveWorkbook.Names.Add Name:="theList", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1)"

You are right that the drop down validation is restricted to 8 visible
options. The rest can be accessed with the scroll bar. I don't think
this can be changed.

Regards
Rowan

john_t_h wrote:
Hi Rowan,

Could you expand this part for me


Code:
--------------------
ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"
--------------------


ActiveWorkbook - no problems
Names - I'm guessing the worksheet name
Add Name - Where does this come from?
:="theList", Assigning the range to this variable
RefersToR1C1 - Where does this come from?
OFFSET(category!R1C1,0,0,COUNTA(category!C1),1) - Issume I can still
use OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1) to allow the
list to be dynamic?

Also is the data validation limited to 8 rows? I thought I read
somewhere that it was??

Thanks


john_t_h[_26_]

dynamic combobox
 

I'm not sure what I'm doing wrong :(

ActiveWorkbook.Names.Add Name:="cat", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1 )"

'Add data validation
With ws.Cells(iRow, 4).Validation
..Delete
..Add Type:=xlValidateList, Formula1:="cat"
..IgnoreBlank = True
End With

When I insert the row the only option in the data validation box is
"cat"

Instead of picking up the range and assigning it to "cat" it just
returns "cat"

???

Rowan Wrote:
Hi John

This method adds a named range to the workbooks Names collection. So
Activeworkbook.Names is the collection of all names in the book which
includes named ranges, print_area and a few others.

ActiveWorkbook.Names.Add therefore adds a new name to this collection
and in this example I used "theList" as the name.

The RefersToR1C1 is using the R1C1 notation to set the range for the
named range and hence
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1),1)" .

You could also use the A1 notation:

ActiveWorkbook.Names.Add Name:="theList", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1)"

You are right that the drop down validation is restricted to 8 visible
options. The rest can be accessed with the scroll bar. I don't think
this can be changed.

Regards
Rowan

john_t_h wrote:
Hi Rowan,

Could you expand this part for me


Code:
--------------------
ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"
--------------------


ActiveWorkbook - no problems
Names - I'm guessing the worksheet name
Add Name - Where does this come from?
:="theList", Assigning the range to this variable
RefersToR1C1 - Where does this come from?
OFFSET(category!R1C1,0,0,COUNTA(category!C1),1) - Issume I can still
use OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1) to allow the
list to be dynamic?

Also is the data validation limited to 8 rows? I thought I read
somewhere that it was??

Thanks



--
john_t_h
------------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...fo&userid=4826
View this thread: http://www.excelforum.com/showthread...hreadid=461416


Dave Peterson

dynamic combobox
 
One character off!

.Add Type:=xlValidateList, Formula1:="=cat"

(That extra equal sign will mean that you're not creating a list.)



john_t_h wrote:

I'm not sure what I'm doing wrong :(

ActiveWorkbook.Names.Add Name:="cat", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1 )"

'Add data validation
With ws.Cells(iRow, 4).Validation
Delete
Add Type:=xlValidateList, Formula1:="cat"
IgnoreBlank = True
End With

When I insert the row the only option in the data validation box is
"cat"

Instead of picking up the range and assigning it to "cat" it just
returns "cat"

???

Rowan Wrote:
Hi John

This method adds a named range to the workbooks Names collection. So
Activeworkbook.Names is the collection of all names in the book which
includes named ranges, print_area and a few others.

ActiveWorkbook.Names.Add therefore adds a new name to this collection
and in this example I used "theList" as the name.

The RefersToR1C1 is using the R1C1 notation to set the range for the
named range and hence
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1),1)" .

You could also use the A1 notation:

ActiveWorkbook.Names.Add Name:="theList", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1)"

You are right that the drop down validation is restricted to 8 visible
options. The rest can be accessed with the scroll bar. I don't think
this can be changed.

Regards
Rowan

john_t_h wrote:
Hi Rowan,

Could you expand this part for me


Code:
--------------------
ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"
--------------------


ActiveWorkbook - no problems
Names - I'm guessing the worksheet name
Add Name - Where does this come from?
:="theList", Assigning the range to this variable
RefersToR1C1 - Where does this come from?
OFFSET(category!R1C1,0,0,COUNTA(category!C1),1) - Issume I can still
use OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1) to allow the
list to be dynamic?

Also is the data validation limited to 8 rows? I thought I read
somewhere that it was??

Thanks


--
john_t_h
------------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...fo&userid=4826
View this thread: http://www.excelforum.com/showthread...hreadid=461416


--

Dave Peterson

john_t_h[_27_]

dynamic combobox
 

I managed to get this to work a couple of times but for all others I ge
this error:

Run-time error '-2147417848 (80010108)

Automation error
The object invoked has disconnected from its clients

I can not see what I did differently from when it works and when th
error appears.

Any ideas?

Dave Peterson Wrote:
One character off!

.Add Type:=xlValidateList, Formula1:="=cat"

(That extra equal sign will mean that you're not creating a list.)



john_t_h wrote:

I'm not sure what I'm doing wrong :(

ActiveWorkbook.Names.Add Name:="cat", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1 )"

'Add data validation
With ws.Cells(iRow, 4).Validation
Delete
Add Type:=xlValidateList, Formula1:="cat"
IgnoreBlank = True
End With

When I insert the row the only option in the data validation box is
"cat"

Instead of picking up the range and assigning it to "cat" it just
returns "cat"

???

Rowan Wrote:
Hi John

This method adds a named range to the workbooks Names collection

So
Activeworkbook.Names is the collection of all names in the boo

which
includes named ranges, print_area and a few others.

ActiveWorkbook.Names.Add therefore adds a new name to thi

collection
and in this example I used "theList" as the name.

The RefersToR1C1 is using the R1C1 notation to set the range fo

the
named range and hence
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1),1)" .

You could also use the A1 notation:

ActiveWorkbook.Names.Add Name:="theList", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1)"

You are right that the drop down validation is restricted to

visible
options. The rest can be accessed with the scroll bar. I don'

think
this can be changed.

Regards
Rowan

john_t_h wrote:
Hi Rowan,

Could you expand this part for me


Code:
--------------------
ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"
--------------------


ActiveWorkbook - no problems
Names - I'm guessing the worksheet name
Add Name - Where does this come from?
:="theList", Assigning the range to this variable
RefersToR1C1 - Where does this come from?
OFFSET(category!R1C1,0,0,COUNTA(category!C1),1) - Issume I ca

still
use OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1) to allo

the
list to be dynamic?

Also is the data validation limited to 8 rows? I thought I read
somewhere that it was??

Thanks


--
john_t_h


------------------------------------------------------------------------
john_t_h's Profile

http://www.excelforum.com/member.php...fo&userid=4826
View this thread

http://www.excelforum.com/showthread...hreadid=461416

--

Dave Peterso


--
john_t_
-----------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...nfo&userid=482
View this thread: http://www.excelforum.com/showthread.php?threadid=46141


Dave Peterson

dynamic combobox
 
No.

The only time that I got that error, I had closed the wrong workbook and tried
to refer to it later in the code.

But I've seen lots of posts where this occurs. I don't recall seeing a nice
solution.

You may want to search google.

john_t_h wrote:

I managed to get this to work a couple of times but for all others I get
this error:

Run-time error '-2147417848 (80010108)

Automation error
The object invoked has disconnected from its clients

I can not see what I did differently from when it works and when the
error appears.

Any ideas?

Dave Peterson Wrote:
One character off!

.Add Type:=xlValidateList, Formula1:="=cat"

(That extra equal sign will mean that you're not creating a list.)



john_t_h wrote:

I'm not sure what I'm doing wrong :(

ActiveWorkbook.Names.Add Name:="cat", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1 )"

'Add data validation
With ws.Cells(iRow, 4).Validation
Delete
Add Type:=xlValidateList, Formula1:="cat"
IgnoreBlank = True
End With

When I insert the row the only option in the data validation box is
"cat"

Instead of picking up the range and assigning it to "cat" it just
returns "cat"

???

Rowan Wrote:
Hi John

This method adds a named range to the workbooks Names collection.

So
Activeworkbook.Names is the collection of all names in the book

which
includes named ranges, print_area and a few others.

ActiveWorkbook.Names.Add therefore adds a new name to this

collection
and in this example I used "theList" as the name.

The RefersToR1C1 is using the R1C1 notation to set the range for

the
named range and hence
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1),1)" .

You could also use the A1 notation:

ActiveWorkbook.Names.Add Name:="theList", RefersTo:= _
"=OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A), 1)"

You are right that the drop down validation is restricted to 8

visible
options. The rest can be accessed with the scroll bar. I don't

think
this can be changed.

Regards
Rowan

john_t_h wrote:
Hi Rowan,

Could you expand this part for me


Code:
--------------------
ActiveWorkbook.Names.Add Name:="theList", RefersToR1C1:= _
"=OFFSET(category!R1C1,0,0,COUNTA(category!C1) ,1)"
--------------------


ActiveWorkbook - no problems
Names - I'm guessing the worksheet name
Add Name - Where does this come from?
:="theList", Assigning the range to this variable
RefersToR1C1 - Where does this come from?
OFFSET(category!R1C1,0,0,COUNTA(category!C1),1) - Issume I can

still
use OFFSET(category!$A$1,0,0,COUNTA(category!$A:$A),1) to allow

the
list to be dynamic?

Also is the data validation limited to 8 rows? I thought I read
somewhere that it was??

Thanks

--
john_t_h

------------------------------------------------------------------------
john_t_h's Profile:

http://www.excelforum.com/member.php...fo&userid=4826
View this thread:

http://www.excelforum.com/showthread...hreadid=461416

--

Dave Peterson


--
john_t_h
------------------------------------------------------------------------
john_t_h's Profile: http://www.excelforum.com/member.php...fo&userid=4826
View this thread: http://www.excelforum.com/showthread...hreadid=461416


--

Dave Peterson


All times are GMT +1. The time now is 10:22 PM.

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