Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default ListBox1 = ""

Why doesn't this work:

Private Sub CommandButton1_Click()
If ListBox1 = "" Then
MsgBox ("True")
Else
MsgBox ("False")
End If
End Sub

While this does:

Private Sub CommandButton1_Click()
If ListBox1 < "" Then
MsgBox ("True")
Else
MsgBox ("False")
End If
End Sub

or have I missed something embarrassingly obvious?
Cheers Wobbly.


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default ListBox1 = ""

A ListBox never equals the empty String. When nothing has been selected, the
ListBox value is Null. Your code would work if you did this...

Private Sub CommandButton1_Click()
If IsNull(ListBox1) Then
MsgBox "True"
Else
MsgBox "False"
End If
End Sub

However, I think most programmers would check the ListIndex (it's -1 when
nothing is selected and the 0-based index otherwise)...

Private Sub CommandButton1_Click()
If ListBox1.ListIndex = -1 Then
MsgBox "True"
Else
MsgBox "False"
End If
End Sub

Also notice that the argument for the MsgBox subroutine (actually, it's a
function, but you are calling it like a subroutine), and this applies to all
subroutine calls where the Call keyword is not used, should not be embedded
in parentheses (otherwise you would have problems if you had more than one
argument).

--
Rick (MVP - Excel)


"Wobbly" wrote in message
...
Why doesn't this work:

Private Sub CommandButton1_Click()
If ListBox1 = "" Then
MsgBox ("True")
Else
MsgBox ("False")
End If
End Sub

While this does:

Private Sub CommandButton1_Click()
If ListBox1 < "" Then
MsgBox ("True")
Else
MsgBox ("False")
End If
End Sub

or have I missed something embarrassingly obvious?
Cheers Wobbly.


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,298
Default ListBox1 = ""

you could try

IF Listbox1.ListIndex = -1 Then
-1 means nothing selected

OR you could use ListCount eg
If Listbox1.Listcount=0 then
if its zero, then its empty


"Wobbly" wrote:

Why doesn't this work:

Private Sub CommandButton1_Click()
If ListBox1 = "" Then
MsgBox ("True")
Else
MsgBox ("False")
End If
End Sub

While this does:

Private Sub CommandButton1_Click()
If ListBox1 < "" Then
MsgBox ("True")
Else
MsgBox ("False")
End If
End Sub

or have I missed something embarrassingly obvious?
Cheers Wobbly.



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
Excel - Golf - how to display "-2" as "2 Under" or "4"as "+4" or "4 Over" in a calculation cell Steve Kay Excel Discussion (Misc queries) 2 August 8th 08 01:54 AM
change "true" and "false" to "availble" and "out of stock" inthestands Excel Worksheet Functions 2 July 19th 07 07:05 PM
HELP on "left","right","find","len","substitute" functions serene83 Excel Discussion (Misc queries) 5 June 27th 06 02:23 AM
Count occurences of "1"/"0" (or"TRUE"/"FALSE") in a row w. conditions in the next BCB New Users to Excel 7 May 13th 06 10:02 PM
If changed array formula reduce ""\""\""\ - signs to #Missing, will it make ... Maria J-son[_2_] Excel Programming 2 March 5th 06 12:20 PM


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

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"