Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can't pass a ListBox as a ListBox - must be a Variant??
Please have a look at the 2 subs below
Private Sub POLines_Change() UpdateTransferButton POLines, AddPSLines End Sub Private Sub UpdateTransferButton(ByRef lb As ListBox, ByRef b As CommandButton) Dim index As Integer For index = 0 To lb.ListCount - 1 If lb.Selected(index) Then b.Enabled = True Exit Sub End If Next b.Enabled = False End Sub From the first subroutine, I'm trying to call the second one, which takes as parameters a ListBox and a CommandButton. I'm getting a runtime error on the call form the first subroutine indicating that I have type mismatch. Can someone tell me why?? When I change the 2 parameters to Variants, everything is OK. Why can't I pass a ListBox as a ListBox and same with a CommandButton Thanks Mike |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can't pass a ListBox as a ListBox - must be a Variant??
Hi
You have to use the named arguments: Private Sub POLines_Change() Call UpdateTransferButton(lb:=POLines, b:=AddPSLines) End Sub or Private Sub POLines_Change() UpdateTransferButton lb:=POLines, b:=AddPSLines End Sub Regards, Per "Cheryl & Mike Arsenault" skrev i meddelelsen ... Please have a look at the 2 subs below Private Sub POLines_Change() UpdateTransferButton POLines, AddPSLines End Sub Private Sub UpdateTransferButton(ByRef lb As ListBox, ByRef b As CommandButton) Dim index As Integer For index = 0 To lb.ListCount - 1 If lb.Selected(index) Then b.Enabled = True Exit Sub End If Next b.Enabled = False End Sub From the first subroutine, I'm trying to call the second one, which takes as parameters a ListBox and a CommandButton. I'm getting a runtime error on the call form the first subroutine indicating that I have type mismatch. Can someone tell me why?? When I change the 2 parameters to Variants, everything is OK. Why can't I pass a ListBox as a ListBox and same with a CommandButton Thanks Mike |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can't pass a ListBox as a ListBox - must be a Variant??
How are the variables POLines and AddPSLines declared? The type declarations in the called sub should be the same as the original type declarations. -- Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware (Excel Add-ins / Excel Programming) "Cheryl & Mike Arsenault" wrote in message Please have a look at the 2 subs below Private Sub POLines_Change() UpdateTransferButton POLines, AddPSLines End Sub Private Sub UpdateTransferButton(ByRef lb As ListBox, ByRef b As CommandButton) Dim index As Integer For index = 0 To lb.ListCount - 1 If lb.Selected(index) Then b.Enabled = True Exit Sub End If Next b.Enabled = False End Sub From the first subroutine, I'm trying to call the second one, which takes as parameters a ListBox and a CommandButton. I'm getting a runtime error on the call form the first subroutine indicating that I have type mismatch. Can someone tell me why?? When I change the 2 parameters to Variants, everything is OK. Why can't I pass a ListBox as a ListBox and same with a CommandButton Thanks Mike |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can't pass a ListBox as a ListBox - must be a Variant??
"Per Jessen" wrote in message ... Hi You have to use the named arguments: Private Sub POLines_Change() Call UpdateTransferButton(lb:=POLines, b:=AddPSLines) End Sub or Private Sub POLines_Change() UpdateTransferButton lb:=POLines, b:=AddPSLines End Sub Regards, Per "Cheryl & Mike Arsenault" skrev i meddelelsen ... Please have a look at the 2 subs below Private Sub POLines_Change() UpdateTransferButton POLines, AddPSLines End Sub Private Sub UpdateTransferButton(ByRef lb As ListBox, ByRef b As CommandButton) Dim index As Integer For index = 0 To lb.ListCount - 1 If lb.Selected(index) Then b.Enabled = True Exit Sub End If Next b.Enabled = False End Sub From the first subroutine, I'm trying to call the second one, which takes as parameters a ListBox and a CommandButton. I'm getting a runtime error on the call form the first subroutine indicating that I have type mismatch. Can someone tell me why?? When I change the 2 parameters to Variants, everything is OK. Why can't I pass a ListBox as a ListBox and same with a CommandButton Thanks Mike Thanks for the suggestion, but I tried that with no effect - still get Type Mismatch!! Mike |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can't pass a ListBox as a ListBox - must be a Variant??
On Sat, 22 Mar 2008 06:38:27 -0400, "Cheryl & Mike Arsenault"
wrote: Please have a look at the 2 subs below Private Sub POLines_Change() UpdateTransferButton POLines, AddPSLines End Sub Private Sub UpdateTransferButton(ByRef lb As ListBox, ByRef b As CommandButton) Dim index As Integer For index = 0 To lb.ListCount - 1 If lb.Selected(index) Then b.Enabled = True Exit Sub End If Next b.Enabled = False End Sub From the first subroutine, I'm trying to call the second one, which takes as parameters a ListBox and a CommandButton. I'm getting a runtime error on the call form the first subroutine indicating that I have type mismatch. Can someone tell me why?? When I change the 2 parameters to Variants, everything is OK. Why can't I pass a ListBox as a ListBox and same with a CommandButton In addition to the other responses, sometimes there's a conflict between classes with the same names. Try calling out those arguments as MSForms.ListBox MSForms.CommandButton and see if that takes care of it. -- Dick Kusleika Microsoft MVP-Excel http://www.dailydoseofexcel.com |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Pass listbox values to autofilter | Excel Programming | |||
Pass a form Listbox as an object | Excel Programming | |||
How do I pass an array to a listbox? | Excel Programming | |||
How to pass ListBox into a Sub? | Excel Programming | |||
listbox.value not equal to listbox.list(listbox.listindex,0) | Excel Programming |