For data entry use a normalized table - then you don't need VBA at all.
I redesigned your workbook as I would do it.
Probably all you need is setting filters on SalesData sheet and reading count and sum at top of sheet.
When this isn't enough, you can design any number of report sheets, where you can determine one or several filtering conditions like year, Invoice, Salesman, etc. (use validation lists to select them), and rest of info is read from SalesData sheet in exactly such format as you need it.
Edit. With such design, you haven't enter data into SalesData table in some predetermined order. And you can use also ODBC query to get p.e. some summary data into another table (and use parameters read from worksheet cells for WHERE clause of query).
Edit. Edit. Using ODBC queries to read data from SalesData table, you can also design separate individualized report files p.e. for bookkeeping, or for executive board members, etc. (The source workbook must be on network resource then, of-course)
|