A Microsoft Office (Excel, Word) forum. OfficeFrustration

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.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Tables
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Autofill based on drop down list



 
 
Thread Tools Display Modes
  #1  
Old June 13th, 2006, 10:19 AM posted to microsoft.public.word.tables
external usenet poster
 
Posts: n/a
Default 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  
Old June 15th, 2006, 08:52 PM posted to microsoft.public.word.tables
external usenet poster
 
Posts: n/a
Default 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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

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


All times are GMT +1. The time now is 10:00 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.