If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Autofill based on drop down list
Hi,
I'm trying to create a template, where a user selects a response in a dropdown box, and other fields are auto filed based on the answer. As an example, imagine that you have a list of coffee shops, and you want to select a town from a drop down list. Based on your selection, cells in the table will be populated with street name and postcode for the coffee shop in that town. My particular template needs to cover several areas so I can either create one per area, or one that covers all. A key part of creating this template is that it has to be easy to manage should any key information change; therefore I'd prefer not to use code if possible. Is there a simple way to do this? Thanks Doug |
#2
|
|||
|
|||
Autofill based on drop down list
This routine loads a listbox with client details stored in a table in a
separate document (which makes it easy to maintain with additions, deletions etc.), that document being saved as Clients.Doc for the following code. On the UserForm, have a list box (ListBox1) and a Command Button (CommandButton1) and use the following code in the UserForm_Initialize() and the CommandButton1_Click() routines Private Sub UserForm_Initialize() Dim sourcedoc As Document, i As Integer, j As Integer, myitem As Range, m As Long, n As Long ' Modify the path in the following line so that it matches where you saved Clients.doc Application.ScreenUpdating = False ' Open the file containing the client details Set sourcedoc = Documents.Open(FileName:="e:\worddocs\Clients.doc" ) ' Get the number or clients = number of rows in the table of client details less one i = sourcedoc.Tables(1).Rows.Count - 1 ' Get the number of columns in the table of client details j = sourcedoc.Tables(1).Columns.Count ' Set the number of columns in the Listbox to match ' the number of columns in the table of client details ListBox1.ColumnCount = j ' Define an array to be loaded with the client data Dim MyArray() As Variant 'Load client data into MyArray ReDim MyArray(i, j) For n = 0 To j - 1 For m = 0 To i - 1 Set myitem = sourcedoc.Tables(1).Cell(m + 2, n + 1).Range myitem.End = myitem.End - 1 MyArray(m, n) = myitem.Text Next m Next n ' Load data into ListBox1 ListBox1.List() = MyArray ' Close the file containing the client details sourcedoc.Close SaveChanges:=wdDoNotSaveChanges End Sub Private Sub CommandButton1_Click() Dim i As Integer, Addressee As String Addressee = "" For i = 1 To ListBox1.ColumnCount ListBox1.BoundColumn = i Addressee = Addressee & ListBox1.Value & vbCr Next i ActiveDocument.Bookmarks("Addressee").Range.Insert After Addressee UserForm2.Hide End Sub The Initialize statement will populate the listbox with the data from the table and then when a client is selected in from the list and the command button is clicked, the information for that client will be inserted into a -- Hope this helps. Please reply to the newsgroup unless you wish to avail yourself of my services on a paid consulting basis. Doug Robbins - Word MVP "dragon576" wrote in message ... Hi, I'm trying to create a template, where a user selects a response in a dropdown box, and other fields are auto filed based on the answer. As an example, imagine that you have a list of coffee shops, and you want to select a town from a drop down list. Based on your selection, cells in the table will be populated with street name and postcode for the coffee shop in that town. My particular template needs to cover several areas so I can either create one per area, or one that covers all. A key part of creating this template is that it has to be easy to manage should any key information change; therefore I'd prefer not to use code if possible. Is there a simple way to do this? Thanks Doug |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Activate another field off of drop down list | Rhett_Y | Using Forms | 4 | May 12th, 2006 06:23 PM |
Conditional Drop Down List | Bogo | General Discussion | 2 | February 16th, 2006 09:11 PM |
Limit drop down list and linking to other info | Intuit | Worksheet Functions | 13 | February 2nd, 2006 09:48 PM |
Drop down list from another drop down list in Word? | gobonniego | General Discussion | 1 | December 20th, 2005 07:46 PM |