M
Michael Malinsky
I have UserForm1 with TextBox1, TextBox2, TextBox3, ListBox1,
CommandButton1, and CommandButton2.
The user enters information in the 3 TextBoxes, then presses CommandButton1
to add that info to ListBox1. The code for CommandButton1 is:
Private Sub CommandButton1_Click()
x = lbRangeList.ListCount
'If Item2 is higher than Item3, display a message box
'and do not update ListBox1 to include the range. Otherwise, update the
list.
If Val(TextBox2.Value) < Val(TextBox2.Value) Then
ReDim Preserve Item1(x), Item2(x), Item3(x)
Item1(x) = TextBox1.Value
Item2(x) = TextBox2.Value
Item3(x) = TextBox3.Value
ListBox1.AddItem Item1(x)
ListBox1.List(ListBox1.ListCount - 1, 1) = Item2(x)
ListBox1.List(ListBox1.ListCount - 1, 2) = Item3(x)
x = x + 1 'Add 1 to x for the next item
End If
Else
a = MsgBox("Item1 cannot be higher than Item2. Please re-enter your
data.", vbCritical, "Invalid Entry")
End If
'Clear textboxes
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox"
Next ctrl
Item1.SetFocus
lbRangeList.ListIndex = -1
End Sub
I put these items in arrays (declared as public variables) for using the
arrays in other parts of my project. Here's my problem: I want to be able
to remove a line from ListBox1 by pressing CommandButton2. I can do this
easily enough, but my problem is in how to update the arrays I've created to
account for items I've removed from ListBox1. Currently, I have the
following code for ListBox2:
Sub CommandButton2_Click()
ListBox1.RemoveItem lbRangeList.ListIndex
End Sub
Which removes the items from ListBox1, but when I continue to run other
subroutines in the module, I get a subscript out of range error which I'm
assuming has to do with removing an item from ListBox1, but not updating the
arrays to account for this change.
Any help would be greatly appreciated.
--
Michael J. Malinsky
Pittsburgh, PA
"I am a bear of very little brain, and long
words bother me." -- AA Milne, Winnie the Pooh
CommandButton1, and CommandButton2.
The user enters information in the 3 TextBoxes, then presses CommandButton1
to add that info to ListBox1. The code for CommandButton1 is:
Private Sub CommandButton1_Click()
x = lbRangeList.ListCount
'If Item2 is higher than Item3, display a message box
'and do not update ListBox1 to include the range. Otherwise, update the
list.
If Val(TextBox2.Value) < Val(TextBox2.Value) Then
ReDim Preserve Item1(x), Item2(x), Item3(x)
Item1(x) = TextBox1.Value
Item2(x) = TextBox2.Value
Item3(x) = TextBox3.Value
ListBox1.AddItem Item1(x)
ListBox1.List(ListBox1.ListCount - 1, 1) = Item2(x)
ListBox1.List(ListBox1.ListCount - 1, 2) = Item3(x)
x = x + 1 'Add 1 to x for the next item
End If
Else
a = MsgBox("Item1 cannot be higher than Item2. Please re-enter your
data.", vbCritical, "Invalid Entry")
End If
'Clear textboxes
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox"
Next ctrl
Item1.SetFocus
lbRangeList.ListIndex = -1
End Sub
I put these items in arrays (declared as public variables) for using the
arrays in other parts of my project. Here's my problem: I want to be able
to remove a line from ListBox1 by pressing CommandButton2. I can do this
easily enough, but my problem is in how to update the arrays I've created to
account for items I've removed from ListBox1. Currently, I have the
following code for ListBox2:
Sub CommandButton2_Click()
ListBox1.RemoveItem lbRangeList.ListIndex
End Sub
Which removes the items from ListBox1, but when I continue to run other
subroutines in the module, I get a subscript out of range error which I'm
assuming has to do with removing an item from ListBox1, but not updating the
arrays to account for this change.
Any help would be greatly appreciated.
--
Michael J. Malinsky
Pittsburgh, PA
"I am a bear of very little brain, and long
words bother me." -- AA Milne, Winnie the Pooh