Is the array empty?

  • Thread starter Thread starter Otto Moehrbach
  • Start date Start date
O

Otto Moehrbach

Excel 2002, WinXP
I display a UserForm with a Listbox (set to multi-select) and ask the user
to select the names he wishes. I then use the procedure that John
Walkenbach has in his book to build an array of the selected names. All
works well if the user selects at least one name.
There is a real possibility that the user will select no names, in which
case the array will contain no names. I need to trap that situation.
How can I trap the fact that no names were selected or that the array has no
members? Thanks for your help. Otto
 
Otto,

Perhaps:

If Not IsEmpty(yourvarr(1)) Then

which tests for an initial array value.

Regards.
 
Sub test()
Dim arr() As String, bln As Boolean, i As Long

' ReDim arr(1)

On Error Resume Next
i = LBound(arr): bln = Not (Err.Number = 9)
On Error GoTo 0

MsgBox bln
End Sub
 
I'd just count:

Option Explicit
Private Sub CommandButton1_Click()
Dim iCtr As Long
Dim SelectedCtr As Long
Dim myNames() As String
SelectedCtr = 0
With Me.ListBox1
For iCtr = 0 To .ListCount - 1
If .Selected(iCtr) Then
SelectedCtr = SelectedCtr + 1
ReDim Preserve myNames(1 To SelectedCtr)
myNames(SelectedCtr) = .List(iCtr)
End If
Next iCtr
End With

MsgBox SelectedCtr
End Sub

Private Sub UserForm_Initialize()

Dim iCtr As Long
For iCtr = 1 To 10
Me.ListBox1.AddItem ("asdf" & iCtr)
Next iCtr
Me.ListBox1.MultiSelect = fmMultiSelectMulti

End Sub
 
Stuart, Rob, Dave
Thanks for your help. That gave me what I needed. Dave, your
suggestion was right on because I was counting anyway in the building of the
array, so why didn't I think of that? Thanks again. Otto
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top