View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Bernie Deitrick Bernie Deitrick is offline
external usenet poster
 
Posts: 5,441
Default validation list length issue

You can add the list of items to a range, which can number over 1000 items, at least. Let's assume
that column AA is currently blank:

Dim myArr As Variant
myArr = Split(strList, ",")

Range("AA1").Resize(UBound(myArr) + 1).Value = Application.Transpose(myArr)

''Populate list with list items from db
With curValueCell.Validation
..Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=" & Range("AA1").Resize(UBound(myArr) + 1).Address
..IgnoreBlank = True
..InCellDropdown = True
..ShowInput = False
..ShowError = False

End With


HTH,
Bernie
MS Excel MVP


"svb" wrote in message
...
When I select an item in say cell A:1, based on my selection a list is
presented in cell B:1 in the form of a validation list where the list values
are dynamically retieved from a database. This code has worked for ages,
however some of the lists are now fairly large.
I now receive the error,
---------------------------------------------------
Run-time error '-2147417848(80010108)':

Automation error
The object invoked has disconnected from its clients

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

If I reduce the number of items in the list then it works. So the question
is is there a limit on the number of items I can have in a validation list. I
don't want to use combo box objects so if there is a limit then suggestions
for a better way of doing this would be appreciated. Code snippet below.

'//strList is a comma-delimitted list of values retrieved from a db. May
have up to 200 values.
strList = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
'Populate list with list items from db
With curValueCell.Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ '//debugger
selects this line as in error
Operator:=xlBetween, Formula1:=strList '//debugger selects this line as in
error
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = False
.ShowError = False

End With

ps. If above variable 'strList' contains more than 65 items the above error
occurs. It also doesn't work if I manually add a 65 item comma-delimitted
list directly into the source box via data-validation menu.