Moti,
Some further comments about getting data from multiple sheets. I'll start with the manual method. Assuming the spreadsheet has been saved and for simplicity that each worksheet has data in exactly the same fields. It need not, it just simplifies the explanation.
Give each data range a defined name. Not dynamic. Say, Table1, Table2, Table3, etc.
Then menu Data, Import External Data, New Database Query. Select the Excel file, then Table1 field/s.
For this one, we won't filter. Or sort. Select the option to view & edit in Microsoft Query before hitting FINISH.
You should see the field/s from Table1 and the first screenful of records.
Now hit the SQL button (or View, SQL) and edit directly in the window to obtain,
SELECT *
FROM don't change this bit.Table1 Table1
UNION ALL
SELECT *
FROM don't change this bit.Table2 Table2
UNION ALL
SELECT *
FROM don't change this bit.Table3 Table3
Where after the first two lines (SELECT * FROM whatever) there are groups of three lines per data range. Each group being of form
UNION ALL
SELECT *
FROM don't change this bit.TableX TableX
You can copy & paste in the SQL window.
When this is done, put the data in Excel via the file menu or the "door" icon on the toolbar.
You've now created a simple consolidation of the mutliple ranges.
Refresh like a pivot table. Data sources could be on closed workbooks - and is still quite fast. When you know how to change the SQL, can develop powerful queries. This whole thing can be done in VBA (created from scratch on the fly) and the SQL is easily editable - it is simply a string. You do have to be careful with the punctuation/syntax. If the table is created manually, it is just a single line of code to refresh the table.
Hope this whets your appetite. If you search there are a couple of other recent posts where I've described other examples of query tables.
regards,
Fazza