Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA: Problem with ctrl- and a-key Listbox event
Hi,
I try to let VBA copy a listbox items when holding down the ctrl- and pressing the a-key (select all). Any suggestion on why this doesn't work? Do I need to combine a KeyPressed event? Thanks in advance Regards Frank ___________________________ Private Sub Listbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim i As Integer If KeyCode = 97 And Shift = 2 Then For i = 0 To Listbox1.ListCount - 1 Listbox2.AddItem Listbox1.List(i) Next i End If End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA: Problem with ctrl- and a-key Listbox event
There is a multiselect item in listboxes that can be set.
Indicates whether the object permits multiple selections. Syntax object.MultiSelect [= fmMultiSelect] The MultiSelect property syntax has these parts: Part Description object Required. A valid object. fmMultiSelect Optional. The selection mode that the control uses. Settings The settings for fmMultiSelect a Constant Value Description fmMultiSelectSingle 0 Only one item can be selected (default). fmMultiSelectMulti 1 Pressing the SPACEBAR or clicking selects or deselects an item in the list. fmMultiSelectExtended 2 Pressing SHIFT and clicking the mouse, or pressing SHIFT and one of the arrow keys, extends the selection from the previously selected item to the current item. Pressing CTRL and clicking the mouse selects or deselects an item. Remarks When the MultiSelect property is set to Extended or Simple, you must use the list box's Selected property to determine the selected items. Also, the Value property of the control is always Null. The ListIndex property returns the index of the row with the keyboard focus. " wrote: Hi, I try to let VBA copy a listbox items when holding down the ctrl- and pressing the a-key (select all). Any suggestion on why this doesn't work? Do I need to combine a KeyPressed event? Thanks in advance Regards Frank ___________________________ Private Sub Listbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim i As Integer If KeyCode = 97 And Shift = 2 Then For i = 0 To Listbox1.ListCount - 1 Listbox2.AddItem Listbox1.List(i) Next i End If End Sub |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with ctrl- and a-key Listbox event
Change the KeyCode from 97 to 65 or, better, vbKeyA
If KeyCode = vbKeyA And Shift = 2 Then -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) wrote in message oups.com... Hi, I try to let VBA copy a listbox items when holding down the ctrl- and pressing the a-key (select all). Any suggestion on why this doesn't work? Do I need to combine a KeyPressed event? Thanks in advance Regards Frank ___________________________ Private Sub Listbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim i As Integer If KeyCode = 97 And Shift = 2 Then For i = 0 To Listbox1.ListCount - 1 Listbox2.AddItem Listbox1.List(i) Next i End If End Sub |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with ctrl- and a-key Listbox event
I should have added that you really should be using the KeyUp not the
KeyDown event. The KeyDown event will run over and over again as long as the key is down, stopping only when the key is released. This will cause the code to add the items in ListBox1 to ListBox2 many times. Using KeyUp prevents this. -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) "Chip Pearson" wrote in message ... Change the KeyCode from 97 to 65 or, better, vbKeyA If KeyCode = vbKeyA And Shift = 2 Then -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) wrote in message oups.com... Hi, I try to let VBA copy a listbox items when holding down the ctrl- and pressing the a-key (select all). Any suggestion on why this doesn't work? Do I need to combine a KeyPressed event? Thanks in advance Regards Frank ___________________________ Private Sub Listbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim i As Integer If KeyCode = 97 And Shift = 2 Then For i = 0 To Listbox1.ListCount - 1 Listbox2.AddItem Listbox1.List(i) Next i End If End Sub |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with ctrl- and a-key Listbox event
Thank you for your reply.
In addition, one of the listbox1 items had to be selected in advance for the Ctrl-A to work. So I just added "Listbox1.selected(0)" after filling the listbox1. Frank "Chip Pearson" wrote: I should have added that you really should be using the KeyUp not the KeyDown event. The KeyDown event will run over and over again as long as the key is down, stopping only when the key is released. This will cause the code to add the items in ListBox1 to ListBox2 many times. Using KeyUp prevents this. -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) "Chip Pearson" wrote in message ... Change the KeyCode from 97 to 65 or, better, vbKeyA If KeyCode = vbKeyA And Shift = 2 Then -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) wrote in message oups.com... Hi, I try to let VBA copy a listbox items when holding down the ctrl- and pressing the a-key (select all). Any suggestion on why this doesn't work? Do I need to combine a KeyPressed event? Thanks in advance Regards Frank ___________________________ Private Sub Listbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim i As Integer If KeyCode = 97 And Shift = 2 Then For i = 0 To Listbox1.ListCount - 1 Listbox2.AddItem Listbox1.List(i) Next i End If End Sub "Chip Pearson" wrote: I should have added that you really should be using the KeyUp not the KeyDown event. The KeyDown event will run over and over again as long as the key is down, stopping only when the key is released. This will cause the code to add the items in ListBox1 to ListBox2 many times. Using KeyUp prevents this. -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) "Chip Pearson" wrote in message ... Change the KeyCode from 97 to 65 or, better, vbKeyA If KeyCode = vbKeyA And Shift = 2 Then -- Cordially, Chip Pearson Microsoft MVP - Excel, 10 Years Pearson Software Consulting www.cpearson.com (email on the web site) wrote in message oups.com... Hi, I try to let VBA copy a listbox items when holding down the ctrl- and pressing the a-key (select all). Any suggestion on why this doesn't work? Do I need to combine a KeyPressed event? Thanks in advance Regards Frank ___________________________ Private Sub Listbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim i As Integer If KeyCode = 97 And Shift = 2 Then For i = 0 To Listbox1.ListCount - 1 Listbox2.AddItem Listbox1.List(i) Next i End If End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
ListBox Click Event | Excel Discussion (Misc queries) | |||
listbox click event help | Excel Programming | |||
Click event on listbox | Excel Programming | |||
Trap CTRL+C keypress event | Excel Programming | |||
Is refreshing listbox rowsource in listbox click event possible? | Excel Programming |