Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Commandbars - again


I have the following code to read into two drop down lists from an
array. The first reads the first row of the array and selects an item
from it. The second list is populated from the entries in the array
column for the item selected from the first row.

It successfully reads the relevant column into "subcomparray(i)" but
the line
".AddItem subcomparray(i)" does not populate the list in the second
dropdown.

Am I missing something obvious or is it not possible to populate one
dropdown based on the selection made in another without re-creating the
controls?

Thanks for any help

For i = 0 To 20
For j = 0 To 19
allcomparray(i, j) =
Sheets("Data").Cells(Range("Components_array").Row + i, _
Range("Components_array").Column + j).Text
comparray(j) = allcomparray(0, j)
Next j
Next i

If cddtparambarcomp.Text = compseltext Then
ActiveCell = compseltext
GoTo CompSelNoChange
Else: ActiveCell = cddtparambarcomp.Text
End If

compseltext = cddtparambarcomp.Text
compselindex = cddtparambarcomp.ListIndex

CompSelNoChange:
For i = 1 To 20
subcomparray(i) = allcomparray(i, compselindex - 1)
Next i

Set cddtparambarsubcomp = CommandBars("Detailed Table Parameter
Menu").Controls(4)
With cddtparambarsubcomp
For i = 1 To 20
..AddItem subcomparray(i)
Next i
..Visible = True
End With


--
micklloyd
------------------------------------------------------------------------
micklloyd's Profile: http://www.excelforum.com/member.php...o&userid=30696
View this thread: http://www.excelforum.com/showthread...hreadid=505260

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Commandbars - again

unless it had something to to with sending this in an email, you don't have
a period in front of AddItem

With cddtparambarsubcomp
For i = 1 To 20
.AddItem subcomparray(i)
Next i
Visible = True
End With

Am I missing something obvious or is it not possible to populate one
dropdown based on the selection made in another without re-creating the
controls?


I am not sure why you ask that question. There is not builtin support for
doing that. Your code is what is using the result of 1 dropdown to
determine what to put in another dropdown, so the only limitation would be
in how you write your code. You don't have to recreate a dropdown control
to add data to it, so the answer would be no, recreating is not a required
step. You should be able to clear the existing control and add new data to
it.

--
Regards,
Tom Ogilvy


"micklloyd" wrote
in message ...

I have the following code to read into two drop down lists from an
array. The first reads the first row of the array and selects an item
from it. The second list is populated from the entries in the array
column for the item selected from the first row.

It successfully reads the relevant column into "subcomparray(i)" but
the line
".AddItem subcomparray(i)" does not populate the list in the second
dropdown.

Am I missing something obvious or is it not possible to populate one
dropdown based on the selection made in another without re-creating the
controls?

Thanks for any help

For i = 0 To 20
For j = 0 To 19
allcomparray(i, j) =
Sheets("Data").Cells(Range("Components_array").Row + i, _
Range("Components_array").Column + j).Text
comparray(j) = allcomparray(0, j)
Next j
Next i

If cddtparambarcomp.Text = compseltext Then
ActiveCell = compseltext
GoTo CompSelNoChange
Else: ActiveCell = cddtparambarcomp.Text
End If

compseltext = cddtparambarcomp.Text
compselindex = cddtparambarcomp.ListIndex

CompSelNoChange:
For i = 1 To 20
subcomparray(i) = allcomparray(i, compselindex - 1)
Next i

Set cddtparambarsubcomp = CommandBars("Detailed Table Parameter
Menu").Controls(4)
With cddtparambarsubcomp
For i = 1 To 20
AddItem subcomparray(i)
Next i
Visible = True
End With


--
micklloyd
------------------------------------------------------------------------
micklloyd's Profile:

http://www.excelforum.com/member.php...o&userid=30696
View this thread: http://www.excelforum.com/showthread...hreadid=505260



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Commandbars - again


Still can't get it. I've modified the code and in fact can pass the
second array to another procedure that creates a new commandbar with a
drop down. This new drop down list always shows the data (from the
passed array)that relates to the item selected in the first drop down
on the original commandbar. I cannot find how to fill the second drop
down on the original commandbar based on the selection madein the
first.

Set cddtparambarsubcomp = CommandBars("Detailed Table Parameter
Menu").Controls(4)
cddtparambarsubcomp = subcomparray()

The above sets the value of "cddtparambarsubcomp" to the correct item
from the second array but the values are not transferred to the second
drop down on the commandbar, which retains the values entered when the
drop down and the commnadbar were created.


--
micklloyd
------------------------------------------------------------------------
micklloyd's Profile: http://www.excelforum.com/member.php...o&userid=30696
View this thread: http://www.excelforum.com/showthread...hreadid=505260

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Commandbars - again

So you confirm that it can be done.

I imagine you problem is your code, but your naming convention appears too
obtuse to me, so I wouldn't even attempt to try to decipher your code.

Seems you just need a bit more due diligence and you should have it.

--
Regards,
Tom Ogilvy



"micklloyd" wrote
in message ...

Still can't get it. I've modified the code and in fact can pass the
second array to another procedure that creates a new commandbar with a
drop down. This new drop down list always shows the data (from the
passed array)that relates to the item selected in the first drop down
on the original commandbar. I cannot find how to fill the second drop
down on the original commandbar based on the selection madein the
first.

Set cddtparambarsubcomp = CommandBars("Detailed Table Parameter
Menu").Controls(4)
cddtparambarsubcomp = subcomparray()

The above sets the value of "cddtparambarsubcomp" to the correct item
from the second array but the values are not transferred to the second
drop down on the commandbar, which retains the values entered when the
drop down and the commnadbar were created.


--
micklloyd
------------------------------------------------------------------------
micklloyd's Profile:

http://www.excelforum.com/member.php...o&userid=30696
View this thread: http://www.excelforum.com/showthread...hreadid=505260



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Commandbars - again


Seems to me I don't need replies with that kind of tone, thanks

--
micklloy
-----------------------------------------------------------------------
micklloyd's Profile: http://www.excelforum.com/member.php...fo&userid=3069
View this thread: http://www.excelforum.com/showthread.php?threadid=50526



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Commandbars PosseJohn Excel Programming 1 December 16th 05 05:51 PM
Commandbars Libby Excel Programming 1 August 8th 04 07:11 PM
CommandBars garry Excel Programming 3 June 24th 04 03:12 PM
CommandBars defj Excel Programming 2 November 16th 03 12:57 AM


All times are GMT +1. The time now is 07:28 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"