Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 131
Default Compare Contents of 2 listboxes

Could I please have assistance with the code below, my aim is to compare
contents of ListBox2 with ListBox1 if a match is found to remove it from
ListBox1;

Dim i As Long, j As Long

For i = 0 To ListBox2.ListCount - 1
DoEvents
ListBox2.ListIndex = i
For j = 0 To ListBox1.ListCount - 1
DoEvents
ListBox1.ListIndex = j
If InStr(1, ListBox2.List(ListBox2.ListIndex),
ListBox1.List(ListBox1.ListIndex)) Then
ListBox1.RemoveItem (j)
End If
Next j
Next i

End Sub

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Compare Contents of 2 listboxes

This worked ok for me:

Option Explicit
Private Sub CommandButton1_Click()

Dim iCtr As Long
Dim res As Variant
Dim myArr() As String

With Me.ListBox2
ReDim myArr(0 To .ListCount - 1)
For iCtr = 0 To .ListCount - 1
myArr(iCtr) = .List(iCtr, 0)
Next iCtr
End With

With Me.ListBox1
'bottom up
For iCtr = .ListCount - 1 To 0 Step -1
res = Application.Match(.List(iCtr), myArr, 0)
If IsError(res) Then
'no match, keep it
Else
.RemoveItem iCtr
End If
Next iCtr
End With

End Sub
Private Sub UserForm_Initialize()
Dim iCtr As Long

With Me.ListBox1
.ColumnCount = 1
For iCtr = 1 To 5
.AddItem "a" & iCtr
Next iCtr
For iCtr = 9 To 15
.AddItem "a" & iCtr
Next iCtr
End With

With Me.ListBox2
.ColumnCount = 1
For iCtr = 3 To 7
.AddItem "a" & iCtr
Next iCtr
End With
End Sub




LaDdIe wrote:

Could I please have assistance with the code below, my aim is to compare
contents of ListBox2 with ListBox1 if a match is found to remove it from
ListBox1;

Dim i As Long, j As Long

For i = 0 To ListBox2.ListCount - 1
DoEvents
ListBox2.ListIndex = i
For j = 0 To ListBox1.ListCount - 1
DoEvents
ListBox1.ListIndex = j
If InStr(1, ListBox2.List(ListBox2.ListIndex),
ListBox1.List(ListBox1.ListIndex)) Then
ListBox1.RemoveItem (j)
End If
Next j
Next i

End Sub


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,549
Default Compare Contents of 2 listboxes

'Sub can be called from a UserForm event.
'Assumes the Listboxes are not bound to a worksheet range.
'Assumes data is loaded into Listboxes before this sub is called...
'--
Sub MakeDifferent()
Dim i As Long
Dim j As Long

For i = 0 To UserForm1.ListBox2.ListCount - 1
For j = UserForm1.ListBox1.ListCount - 1 To 0 Step -1
If UserForm1.ListBox2.List(i, 0) = _
UserForm1.ListBox1.List(j, 0) Then
UserForm1.ListBox1.RemoveItem (j)
End If
Next 'j
Next 'i
End Sub
--
Jim Cone
Portland, Oregon USA



"LaDdIe"

wrote in message
Could I please have assistance with the code below, my aim is to compare
contents of ListBox2 with ListBox1 if a match is found to remove it from
ListBox1;

Dim i As Long, j As Long

For i = 0 To ListBox2.ListCount - 1
DoEvents
ListBox2.ListIndex = i
For j = 0 To ListBox1.ListCount - 1
DoEvents
ListBox1.ListIndex = j
If InStr(1, ListBox2.List(ListBox2.ListIndex),
ListBox1.List(ListBox1.ListIndex)) Then
ListBox1.RemoveItem (j)
End If
Next j
Next i

End Sub

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 131
Default Compare Contents of 2 listboxes

Supa Dupa..... Thanks

"Dave Peterson" wrote:

This worked ok for me:

Option Explicit
Private Sub CommandButton1_Click()

Dim iCtr As Long
Dim res As Variant
Dim myArr() As String

With Me.ListBox2
ReDim myArr(0 To .ListCount - 1)
For iCtr = 0 To .ListCount - 1
myArr(iCtr) = .List(iCtr, 0)
Next iCtr
End With

With Me.ListBox1
'bottom up
For iCtr = .ListCount - 1 To 0 Step -1
res = Application.Match(.List(iCtr), myArr, 0)
If IsError(res) Then
'no match, keep it
Else
.RemoveItem iCtr
End If
Next iCtr
End With

End Sub
Private Sub UserForm_Initialize()
Dim iCtr As Long

With Me.ListBox1
.ColumnCount = 1
For iCtr = 1 To 5
.AddItem "a" & iCtr
Next iCtr
For iCtr = 9 To 15
.AddItem "a" & iCtr
Next iCtr
End With

With Me.ListBox2
.ColumnCount = 1
For iCtr = 3 To 7
.AddItem "a" & iCtr
Next iCtr
End With
End Sub




LaDdIe wrote:

Could I please have assistance with the code below, my aim is to compare
contents of ListBox2 with ListBox1 if a match is found to remove it from
ListBox1;

Dim i As Long, j As Long

For i = 0 To ListBox2.ListCount - 1
DoEvents
ListBox2.ListIndex = i
For j = 0 To ListBox1.ListCount - 1
DoEvents
ListBox1.ListIndex = j
If InStr(1, ListBox2.List(ListBox2.ListIndex),
ListBox1.List(ListBox1.ListIndex)) Then
ListBox1.RemoveItem (j)
End If
Next j
Next i

End Sub


--

Dave Peterson

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 131
Default Compare Contents of 2 listboxes

Also Supa Dupa

"Jim Cone" wrote:

'Sub can be called from a UserForm event.
'Assumes the Listboxes are not bound to a worksheet range.
'Assumes data is loaded into Listboxes before this sub is called...
'--
Sub MakeDifferent()
Dim i As Long
Dim j As Long

For i = 0 To UserForm1.ListBox2.ListCount - 1
For j = UserForm1.ListBox1.ListCount - 1 To 0 Step -1
If UserForm1.ListBox2.List(i, 0) = _
UserForm1.ListBox1.List(j, 0) Then
UserForm1.ListBox1.RemoveItem (j)
End If
Next 'j
Next 'i
End Sub
--
Jim Cone
Portland, Oregon USA



"LaDdIe"

wrote in message
Could I please have assistance with the code below, my aim is to compare
contents of ListBox2 with ListBox1 if a match is found to remove it from
ListBox1;

Dim i As Long, j As Long

For i = 0 To ListBox2.ListCount - 1
DoEvents
ListBox2.ListIndex = i
For j = 0 To ListBox1.ListCount - 1
DoEvents
ListBox1.ListIndex = j
If InStr(1, ListBox2.List(ListBox2.ListIndex),
ListBox1.List(ListBox1.ListIndex)) Then
ListBox1.RemoveItem (j)
End If
Next j
Next i

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
Compare row contents Dylan Excel Programming 7 July 14th 08 09:05 PM
compare the contents of one range of cells with the contents of a. Dozy123 Excel Discussion (Misc queries) 1 January 24th 07 10:14 AM
COMPARE CELL CONTENTS guy Excel Worksheet Functions 4 December 24th 05 08:29 PM
compare cell contents guy Excel Worksheet Functions 2 December 23rd 05 08:38 PM
How to compare the contents of two rows is the same? OKLover Excel Programming 5 July 3rd 05 04:23 PM


All times are GMT +1. The time now is 10:15 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"