Welcome to the { mindfrost82.com } forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

Go Back   { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Microsoft > MS Office > Excel

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 12-05-2007, 07:38 PM
Rob W
 
Posts: n/a
Populating Combo box (.List) using a Range??

Greetings,

Is it possible to populate a combobox.List property with a Range?
I know its common practice to use Array, wondering about a Range.

I've experimented with :-

Dim R As Range
Set R =
Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)

comboPatient.List = R.Value or
comboPatitint.List = Range("R").value

and all give syntax errors ..

Thanks
Rob


Reply With Quote
  #2 (permalink)  
Old 12-05-2007, 08:12 PM
Dave Peterson
 
Posts: n/a
Re: Populating Combo box (.List) using a Range??

You can use a range ok, but the problem is that your range has (probably)
multi-areas. You could loop through the cells and use .additem, though.

Rob W wrote:
>
> Greetings,
>
> Is it possible to populate a combobox.List property with a Range?
> I know its common practice to use Array, wondering about a Range.
>
> I've experimented with :-
>
> Dim R As Range
> Set R =
> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
>
> comboPatient.List = R.Value or
> comboPatitint.List = Range("R").value
>
> and all give syntax errors ..
>
> Thanks
> Rob


--

Dave Peterson
Reply With Quote
  #3 (permalink)  
Old 12-05-2007, 08:23 PM
Rob W
 
Posts: n/a
Re: Populating Combo box (.List) using a Range??

Thanks it is multiple areas, Ive used a loop to achieve the population of a
combo box.

With comboPatient
For Each cell In
Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
.AddItem CStr(cell.Value)
Next cell
End With

If you can think of a more efficent way, I would appreciate it.

Thanks again
Rob


"Dave Peterson" <petersod@verizonXSPAM.net> wrote in message
news:47570640.2DBC26CC@verizonXSPAM.net...
> You can use a range ok, but the problem is that your range has (probably)
> multi-areas. You could loop through the cells and use .additem, though.
>
> Rob W wrote:
>>
>> Greetings,
>>
>> Is it possible to populate a combobox.List property with a Range?
>> I know its common practice to use Array, wondering about a Range.
>>
>> I've experimented with :-
>>
>> Dim R As Range
>> Set R =
>> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
>>
>> comboPatient.List = R.Value or
>> comboPatitint.List = Range("R").value
>>
>> and all give syntax errors ..
>>
>> Thanks
>> Rob

>
> --
>
> Dave Peterson



Reply With Quote
  #4 (permalink)  
Old 12-05-2007, 08:56 PM
Dave Peterson
 
Posts: n/a
Re: Populating Combo box (.List) using a Range??

That's what I'd use.

Rob W wrote:
>
> Thanks it is multiple areas, Ive used a loop to achieve the population of a
> combo box.
>
> With comboPatient
> For Each cell In
> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
> .AddItem CStr(cell.Value)
> Next cell
> End With
>
> If you can think of a more efficent way, I would appreciate it.
>
> Thanks again
> Rob
>
> "Dave Peterson" <petersod@verizonXSPAM.net> wrote in message
> news:47570640.2DBC26CC@verizonXSPAM.net...
> > You can use a range ok, but the problem is that your range has (probably)
> > multi-areas. You could loop through the cells and use .additem, though.
> >
> > Rob W wrote:
> >>
> >> Greetings,
> >>
> >> Is it possible to populate a combobox.List property with a Range?
> >> I know its common practice to use Array, wondering about a Range.
> >>
> >> I've experimented with :-
> >>
> >> Dim R As Range
> >> Set R =
> >> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
> >>
> >> comboPatient.List = R.Value or
> >> comboPatitint.List = Range("R").value
> >>
> >> and all give syntax errors ..
> >>
> >> Thanks
> >> Rob

> >
> > --
> >
> > Dave Peterson


--

Dave Peterson
Reply With Quote
  #5 (permalink)  
Old 12-05-2007, 10:56 PM
Rob W
 
Posts: n/a
Re: Populating Combo box (.List) using a Range??

On topic but on a tiny tangent.. Updating .List with a collection (see code
below which adds data to a collection)

Dim Uniques As New Collection

For Each cell In wsData.Range("G2:G" &
lRowEnd).SpecialCells(xlCellTypeConstants, 2)
Uniques.Add cell.Value, CStr(cell.Value)
Next cell

'Bubble sort code ommitted

For Each Item In Uniques
'comboDiagnosis.AddItem Item
Next Item

I want to add these to the combobox.List I've had several failed attempts..

comboDiagnosis.List = Application.Transpose(Uniques)

Error 1004 appeared 'Application.defined or Object.defined error'

Maybe I need to convert the items/collection into something else to allow it
to be added??



"Dave Peterson" <petersod@verizonXSPAM.net> wrote in message
news:4757106E.2879D32E@verizonXSPAM.net...
> That's what I'd use.
>
> Rob W wrote:
>>
>> Thanks it is multiple areas, Ive used a loop to achieve the population of
>> a
>> combo box.
>>
>> With comboPatient
>> For Each cell In
>> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
>> .AddItem CStr(cell.Value)
>> Next cell
>> End With
>>
>> If you can think of a more efficent way, I would appreciate it.
>>
>> Thanks again
>> Rob
>>
>> "Dave Peterson" <petersod@verizonXSPAM.net> wrote in message
>> news:47570640.2DBC26CC@verizonXSPAM.net...
>> > You can use a range ok, but the problem is that your range has
>> > (probably)
>> > multi-areas. You could loop through the cells and use .additem,
>> > though.
>> >
>> > Rob W wrote:
>> >>
>> >> Greetings,
>> >>
>> >> Is it possible to populate a combobox.List property with a Range?
>> >> I know its common practice to use Array, wondering about a Range.
>> >>
>> >> I've experimented with :-
>> >>
>> >> Dim R As Range
>> >> Set R =
>> >> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
>> >>
>> >> comboPatient.List = R.Value or
>> >> comboPatitint.List = Range("R").value
>> >>
>> >> and all give syntax errors ..
>> >>
>> >> Thanks
>> >> Rob
>> >
>> > --
>> >
>> > Dave Peterson

>
> --
>
> Dave Peterson



Reply With Quote
  #6 (permalink)  
Old 12-05-2007, 11:48 PM
Dave Peterson
 
Posts: n/a
Re: Populating Combo box (.List) using a Range??

You could loop through the collection and create an array and use that in the
..list assignment.

Rob W wrote:
>
> On topic but on a tiny tangent.. Updating .List with a collection (see code
> below which adds data to a collection)
>
> Dim Uniques As New Collection
>
> For Each cell In wsData.Range("G2:G" &
> lRowEnd).SpecialCells(xlCellTypeConstants, 2)
> Uniques.Add cell.Value, CStr(cell.Value)
> Next cell
>
> 'Bubble sort code ommitted
>
> For Each Item In Uniques
> 'comboDiagnosis.AddItem Item
> Next Item
>
> I want to add these to the combobox.List I've had several failed attempts..
>
> comboDiagnosis.List = Application.Transpose(Uniques)
>
> Error 1004 appeared 'Application.defined or Object.defined error'
>
> Maybe I need to convert the items/collection into something else to allow it
> to be added??
>
> "Dave Peterson" <petersod@verizonXSPAM.net> wrote in message
> news:4757106E.2879D32E@verizonXSPAM.net...
> > That's what I'd use.
> >
> > Rob W wrote:
> >>
> >> Thanks it is multiple areas, Ive used a loop to achieve the population of
> >> a
> >> combo box.
> >>
> >> With comboPatient
> >> For Each cell In
> >> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
> >> .AddItem CStr(cell.Value)
> >> Next cell
> >> End With
> >>
> >> If you can think of a more efficent way, I would appreciate it.
> >>
> >> Thanks again
> >> Rob
> >>
> >> "Dave Peterson" <petersod@verizonXSPAM.net> wrote in message
> >> news:47570640.2DBC26CC@verizonXSPAM.net...
> >> > You can use a range ok, but the problem is that your range has
> >> > (probably)
> >> > multi-areas. You could loop through the cells and use .additem,
> >> > though.
> >> >
> >> > Rob W wrote:
> >> >>
> >> >> Greetings,
> >> >>
> >> >> Is it possible to populate a combobox.List property with a Range?
> >> >> I know its common practice to use Array, wondering about a Range.
> >> >>
> >> >> I've experimented with :-
> >> >>
> >> >> Dim R As Range
> >> >> Set R =
> >> >> Sheets("Data").Columns("E").SpecialCells(xlCellTyp eBlanks).Offset(, -4)
> >> >>
> >> >> comboPatient.List = R.Value or
> >> >> comboPatitint.List = Range("R").value
> >> >>
> >> >> and all give syntax errors ..
> >> >>
> >> >> Thanks
> >> >> Rob
> >> >
> >> > --
> >> >
> >> > Dave Peterson

> >
> > --
> >
> > Dave Peterson


--

Dave Peterson
Reply With Quote
Reply

  { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Microsoft > MS Office > Excel


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 05:59 PM.


Powered by vBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.
© 1999-2008 mindfrost82.com v11.0


Sponsors:
Mortgage | MPAA | Loans | Credit Counseling | Loans



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114