Stephen,
I'm sure this can be done with vba but I think you'd be alot better off put
this all in one workbook, in say two worksheet in a "database" format:
In row one of your "CUSTOMER" worksheet use headings like CustID,
LastName, FirstName, plus a column for each category of information about
your customers.
On a separate TRANSACTION worksheet you might want to enter each transaction
with all you customers such as CustID, Name, Date, Description, Qty, Price,
Total
Under Name you could enter a formula like =Vlookup(A2,CustomersDb,2,false)
--assuming A2 contains the first CustomerID. This formula would be copied
down col B as far as needed.
Then when you want information about specific transactions, say those with
Customer xxx, you just do a Filter (Auto or Advanced) on the Transaction
worksheet.
This is much simpler than having to find information in several different
workbooks/sheets
Excel will hold 65536 records (transactions) on a single worksheet. If you
need more room you can add another Transaction worksheet or even store your
transactions in a table in MS Access and filter (run a query) on this Access
file to get the records you want to look at.
I have such a table with 65000 records on one excel sheet. Each record
(transaction) has 40 fields (columns) so there are approx 2.5 million pieces
of data on this worksheet. It takes about 1 to 2 seconds to Find the
records I am asking for, Sort them on 6 different levels of depth, and
display them for my perusal and perform my analysis of the data.
As I look to the future, I have just transferred the data to an MS Access
Table for storage. I still use my excel criteria range to indicate what I am
searching for and how I want it sorted and displayed. And of course I still
do the analysis in excel since this is what excel does best. The user
interface and programming are also far easier to do in excel than Access so
this is the method I have come to use.
Hope this helps.