View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
hgdev hgdev is offline
external usenet poster
 
Posts: 5
Default Listbox Rowsource Headings Multi columns Copy Range If Then Conditional

(long subject designed for future searches)
Excel 2000
Read many posts and tried alot of code, but still need your help.
In practice a User is trying to check if any item number is in stock
and the QTY on hand and in which warehouse. So user presses command
button to open UserForm1 which contains TextBox:txtPartNo and
Listbox:ListBox1.
User enters Item number and then matching rows should be presented to
Listbox1.
HEADINGS are required so this means I can not use ListBox1.AddItem or
an array and must use ROWSOURCE of a Range to feed the Listbox, the
Range could be Dynamic I guess. But first the matching rows have to
be found and then copy/pasted to another range.

So the steps I think a
1. If-Then-Conditional of the existing data range(sample data below)
and copy/paste those matching rows with specific columns, over to
another range/sheet.
2. Set a range name for the newly pated rows(THEY NEED COLUMN
HEADINGS)
3. Set the Rowsource to that recently copy/pasted range

Here is what I have so far, but it is barely working:
Dim cell As Range
Dim rng As Range
Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A2:A" & ws.Range("A65536").End(xlUp).Row)

For Each cell In rng
If cell.Value = Me.txtPartNo.Text Then
cell.Offset(0, 1).Range("A1").Copy _
Destination:=Sheets("Sheet2").Cells(1, 1)
End If
Next

With ListBox1
.rowsource = "OUR RANGE JUST CREATED?"
End With
End Sub


Sample Data(actually an external workbook)
Item Whouse Description UOM QTY
1158 LLR AKM2C MXR3 EA 3
1159 AER AKM3 PACK EA 0
1160 BOS AKM6 PACK EA 7
1164 DEX 547A UNIT EA 2
1158 TTL AKM2C MXR3 EA 5

User enters "1158" and then
listbox1 should look like this:
NOTE that one column, UOM, was skipped over!
Item Whouse Description QTY
1158 LLR AKM2C MXR3 3
1158 TTL AKM2C MXR3 5