ComboBox Help

K

Kenny

I am having some problems with my code. I want to select a choice in my
combobox, enter info into two text box's, then update the bookmarks in a
document when the command button is clicked. The text box's are working.
However I cannot get the Case "Army" to work. Please review my code and help
thanks!


Private Sub CommandButton1_Click()
Select Case ComboBox1
Case "Army"
Bookmarks("Address").Range
InsertBefore "Army Base"
End Select
With ActiveDocument
.Bookmarks("Text1").Range _
.InsertBefore TextBox1
.Bookmarks("Text2").Range _
.InsertBefore TextBox2
End With
UserForm1.Hide
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem "Army"
ComboBox1.AddItem "Navy"
ComboBox1.AddItem "Air Force"
ComboBox1.AddItem "Marines"
ComboBox1.Style = fmStyleDropDownList
ComboBox1.BoundColumn = 0
ComboBox1.ListIndex = 0
End Sub
 
G

Greg Maxey

Kenny,

A couple of problems:
Bookmarks("Address").Range
InsertBefore "Army Base"

You are missing the line continuation separator "_"

What bookmarks? It needs to be "ActiveDocument.Bookmarks"

Also your "Case" statement will never be true. Try adding:
MsgBox ComboBox1 before your case statement and select Army? It will return
"0" or the listIndex of the item selected. You could use the index and
change the to:
Case Is = 0 and it would work.

Try:
Private Sub CommandButton1_Click()
Dim oRng As Word.Range
Dim oBMs As Bookmarks
Set oBMs = ActiveDocument.Bookmarks
MsgBox ComboBox1
Select Case ComboBox1.Text
Case "Army"
Set oRng = oBMs("Address").Range
oRng.Text = "Army Base"
oBMs.Add "Address", oRng
End Select
With ActiveDocument
Set oRng = oBMs("Text1").Range
oRng.Text = Me.TextBox1.Text
oBMs.Add "Text1", oRng
Set oRng = oBMs("Text2").Range
oRng.Text = Me.TextBox2.Text
oBMs.Add "Text2", oRng
End With
UserForm1.Hide
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Army"
.AddItem "Navy"
.AddItem "Air Force"
.AddItem "Marines"
.Style = fmStyleDropDownList
.BoundColumn = 0
.ListIndex = 0
End With
End Sub
 

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