Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.tables
|
|||
|
|||
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
Posted to microsoft.public.word.tables
|
|||
|
|||
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 |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Conditional Drop down list?? | Microsoft Word Help | |||
Drop down list from another drop down list in Word? | Microsoft Word Help | |||
check box and drop down list disappear | Microsoft Word Help | |||
Can I insert choices (a drop down list) within a Word doc | Microsoft Word Help | |||
How do I create a drop down list in a form using Word? | New Users |