Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Using Excel for making a book index


I have been told that I can easily make an index for a book using Excel.
But can you please tell me how this is done? Thanks.
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7,247
Default Using Excel for making a book index

You may have been told wrong. I can't think of anything in Excel that lends
itself to creating the Index for a book. Word is much better suited for that
than is Excel.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"Dave C" wrote in message
...

I have been told that I can easily make an index for a book using Excel.
But can you please tell me how this is done? Thanks.


  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Using Excel for making a book index


No, I use Excel as a worksheet to make an index



"Chip Pearson" wrote:

You may have been told wrong. I can't think of anything in Excel that lends
itself to creating the Index for a book. Word is much better suited for that
than is Excel.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"Dave C" wrote in message
...

I have been told that I can easily make an index for a book using Excel.
But can you please tell me how this is done? Thanks.


  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 229
Default Using Excel for making a book index

Honestly, I'm with Chip on this - why use something not suited for
making an index when Word has built-in features to create one, that
will update dynamically if the book you're working with changes. But,
just for kicks, here's the process.

Create a new Excel worksheet. Label the first column "First Letter",
second column "Word", and the next couple of columns with this
formula:

= "Page number "&COLUMN()-2

Go through the book, looking at each word. If it's the first time you
encounter the word, type it in the second column of your Excel
worksheet, marking the page number in the second column. The second
time you encounter this word, find this line, and use the third column
to mark the page number of its second occurence. Next, sort the list
alphabetically. In the first column, use this formula, starting from
the second row:

=LEFT(A2)

This will give you the first letter of each word. Now, create a
PivotTable. Use these columns for Row values, in this order:

First Letter, Word, Page #1, Page #2, Page #3 etc however many
occurences you want to spot.

Finally, save the resulting Pivot sheet as a .CSV file. Open it in
notepad and perform the following Replace operation until you find 0
occurences:

Find What: ",,"
Replace with What: ","

There's your index. You might try using a VBA procedure for this
process, so as to avoid too much manual work. I'm not familiar with
Word's VBA, and I don't have time to figure out how to find the page
number of a particular Range object. But, here's some code that will
count the number of occurences of each word 3 characters or longer.
Put this in the Workbook module of a worksheet that has a Sheet1.
Make a copy of your book and save it as "c:\book.doc" (or change the
filename in the wrd.Open() line). Be sure to include a reference to
the Word object model, in the Excel VBA project.

Public Sub makeIndex()
Dim wrd As Word.Application
Dim wrDoc As Word.Document

Dim xlRange As Excel.Range
Dim xlRangeFound As Excel.Range

Dim lineCounter As Long
Dim columnCounter As Long

On Error Resume Next

Set wrd = New Word.Application

Application.ScreenUpdating = False

wrd.ScreenUpdating = False
wrd.Visible = False

Set wrDoc = wrd.Documents.Open("c:\book.doc")

Dim myWord As Word.Range

lineCounter = 2
Sheet1.UsedRange.Clear
Set xlRange = Sheet1.Columns(2)


For Each myWord In wrDoc.Words
If Len(Trim(myWord.Text)) = 3 Then
Set xlRangeFound = xlRange.Find(myWord.Text, , xlValues)

If (xlRangeFound Is Nothing) Then
Sheet1.Cells(lineCounter, 2).Value = myWord.Text
Sheet1.Cells(lineCounter, 3).Value = 1
lineCounter = lineCounter + 1
Else
Sheet1.Cells(xlRangeFound.Row, 3).Value =
Sheet1.Cells(xlRangeFound.Row, 3).Value + 1
End If
End If
DoEvents
Next myWord

wrd.Quit (False)
End Sub

After the run finishes - about 3 minutes for a 16,000 word document -
you'll have to add in the column headers.


On Sep 4, 10:14 am, Dave C wrote:
No, I use Excel as a worksheet to make an index



"Chip Pearson" wrote:
You may have been told wrong. I can't think of anything in Excel that lends
itself to creating the Index for a book. Word is much better suited for that
than is Excel.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"Dave C" wrote in message
...


I have been told that I can easily make an index for a book using Excel.
But can you please tell me how this is done? Thanks.- Hide quoted text -


- Show quoted text -



  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Using Excel for making a book index


I will try it out and thanks for taking the time. My only reason for using
it is that an author friend says that he is asked to do indexes for his
books, and he uses Excel.



"Dave C" wrote:


I have been told that I can easily make an index for a book using Excel.
But can you please tell me how this is done? Thanks.



  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 22,906
Default Using Excel for making a book index

Dave

Ask your author friend for a sample workbook that he uses for this project.


Gord Dibben MS Excel MVP

On Wed, 5 Sep 2007 14:40:06 -0700, Dave C
wrote:


I will try it out and thanks for taking the time. My only reason for using
it is that an author friend says that he is asked to do indexes for his
books, and he uses Excel.



"Dave C" wrote:


I have been told that I can easily make an index for a book using Excel.
But can you please tell me how this is done? Thanks.


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
how do i create an index for my book? piodds Excel Discussion (Misc queries) 3 January 4th 11 01:59 PM
bank book or pass book eceal Excel Worksheet Functions 1 May 8th 07 02:24 PM
set up an index linked to work book tabs James Excel Worksheet Functions 2 September 12th 06 11:47 PM
Making changes in all pages in a work book AJ_Knight Excel Discussion (Misc queries) 2 February 24th 06 08:23 AM
Making a check book ledger Wondering Why New Users to Excel 11 January 1st 05 12:36 PM


All times are GMT +1. The time now is 08:53 AM.

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

About Us

"It's about Microsoft Excel"