Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default 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
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
ListBox Click Event BHatMJ Excel Discussion (Misc queries) 6 June 21st 07 09:34 PM
listbox click event help Michael Malinsky Excel Programming 4 December 23rd 05 09:27 PM
Click event on listbox IanC Excel Programming 2 April 5th 05 07:05 AM
Trap CTRL+C keypress event Nick Excel Programming 4 January 30th 04 09:17 PM
Is refreshing listbox rowsource in listbox click event possible? Jeremy Gollehon[_2_] Excel Programming 4 September 25th 03 06:45 PM


All times are GMT +1. The time now is 08:07 PM.

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

About Us

"It's about Microsoft Excel"