How do I get a list from an excel sheet into a userform/listbox?

Ö

Örjan Kihlbaum

Hello all,

I am very new to the VBA programming language. I have managed to solve
most of my problems by looking for answers here, on the Internet and
in a nice little book called "Excel 2003 VBA".

Background:
I am planning to have a excel sheet that can display information based
on a list located in another sheet (a database of sorts). So, the
"database sheet" contains names,numbers and values and I plan to have
a "display sheet" that will display values and calculations for one
member of the database/list at a time.

VBA involvment:
I want to be able to press a button to open up a simple userform with
a listbox.
In the listbox I want to list the members of the database.
When I click on any of the members I want the userform to close and
that the values for that perticular member to be displayed in my
"display sheet".

Problem:
Well, the excel part is easy enough but I really don't know where to
start with the VBA.
I have created a userfrom and I have added a listbox.

Now how do I get the listbox to display the "members" from the
database sheet?

All the rest I'll worry about later.. :)


I haven't found any article yet to help me so maybe anyone here knows
where I should start to look for info?
Or can you give a hint so I know where to start?
 
G

gwoodby

Hello all,

I am very new to the VBA programming language. I have managed to solve
most of my problems by looking for answers here, on the Internet and
in a nice little book called "Excel 2003 VBA".

Background:
I am planning to have a excel sheet that can display information based
on a list located in another sheet (a database of sorts). So, the
"database sheet" contains names,numbers and values and I plan to have
a "display sheet" that will display values and calculations for one
member of the database/list at a time.

VBA involvment:
I want to be able to press a button to open up a simple userform with
a listbox.
In the listbox I want to list the members of the database.
When I click on any of the members I want the userform to close and
that the values for that perticular member to be displayed in my
"display sheet".

Problem:
Well, the excel part is easy enough but I really don't know where to
start with the VBA.
I have created a userfrom and I have added a listbox.

Now how do I get the listbox to display the "members" from the
database sheet?

All the rest I'll worry about later.. :)

I haven't found any article yet to help me so maybe anyone here knows
where I should start to look for info?
Or can you give a hint so I know where to start?

Wouldnt it be easier to just add a find button, and a textbox to
input the name they are looking for ?
Private Sub CommandButton1_Click()
Dim rng As Range
Dim ws As Worksheet
Dim SearchTxt As String
Dim Row As Integer
Dim firstAddress As String
Set ws = Worksheets("sheet1")
SearchTxt = TextBox1.Text ' This is textbox they are
putting the name into


If TextBox1.Text= "" Then
GoTo ErrorMessage
End If
Set rng = ws.Cells.Find(What:=SearchTxt, After:=ws.Range("A1"), _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not r Is Nothing Then
firstAddress = r.Address
Do
Set rng = Cells.FindNext(rng)
Listbox.AddItem (rng)
Loop While Not rng Is Nothing And rng.Address <> firstAddress
Else
' What you want it to do if thats false
End if

ErrorMessage:
MsgBox "Please Type a Name", vbInformation, " No Names found"
End Sub
 
J

JLGWhiz

You can use RowSource, AddItem or List methods to load the ListBox or ComboBox.
Open the VBA editor (Alt + F11) and click help, then type one of the above
methods into the search box to display a menu of related articles.
 
Ö

Örjan Kihlbaum

Wouldnt it be easier to just add a find button, and a textbox to
input the name they are looking for ?
Private Sub CommandButton1_Click()
Dim rng As Range
Dim ws As Worksheet
Dim SearchTxt As String
Dim Row As Integer
Dim firstAddress As String
Set ws = Worksheets("sheet1")
SearchTxt = TextBox1.Text ' This is textbox they are
putting the name into

If TextBox1.Text= "" Then
GoTo ErrorMessage
End If
Set rng = ws.Cells.Find(What:=SearchTxt, After:=ws.Range("A1"), _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not r Is Nothing Then
firstAddress = r.Address
Do
Set rng = Cells.FindNext(rng)
Listbox.AddItem (rng)
Loop While Not rng Is Nothing And rng.Address <> firstAddress
Else
' What you want it to do if thats false
End if

ErrorMessage:
MsgBox "Please Type a Name", vbInformation, " No Names found"
End Sub- Hide quoted text -

- Show quoted text -

Nope, sorry. It needs to be supersimple. Having to type in the names
wont do unfortunally.

Thanks though!
 
Ö

Örjan Kihlbaum

You can use RowSource, AddItem or List methods to load the ListBox or ComboBox.
Open the VBA editor (Alt + F11) and click help, then type one of the above
methods into the search box to display a menu of related articles.












- Show quoted text -

Thank you!

I'll dive into this right away! :)
 

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

Top