I'm puzzled - why recreate Excel functionality using VBA - isn't it a waste of time and effort when it's already there for you?
From the help files:
About outlining a worksheet
How outlines work
When data is in list form, Microsoft Excel can create an outline to let you hide or show levels of detail with a single mouse click. An outline lets you quickly display only the rows or columns that provide summaries or headings for sections of your worksheet, or display the areas of detail data adjacent to a summary row or column.
Displaying and hiding detail data An outline can have up to eight levels of detail, with each inner level providing details for the preceding outer level. In the following example, the row containing the grand total of all the rows is level 1, the rows containing totals for the South and West regions are level 2, and the detail rows for the regions are level 3. To display only the rows for a particular level, you can click the number for the level you want to see. The detail rows for the West region are hidden, but you can click the + outline symbols to display the detail rows.
Ways to outline data
Inserting automatic subtotals also creates an outline If you use the Subtotal command (Data menu) to add subtotals to a list organized in rows, Excel outlines the worksheet so that you can show or hide as much detail as you need.
Outlining a worksheet automatically If you have summarized data by using formulas that contain functions, such as SUM, Excel can automatically outline the data, as in the preceding example. The summary data must be adjacent to the detail data.
Outlining a worksheet manually If the data is not organized so that Excel can outline it automatically, you can create an outline manually. For example, you'll need to manually outline data if the rows or columns of summary data contain values instead of formulas, such as in the example below. If you want to hide the detail rows for April and May, you can do so by outlining the list manually.
Because the totals in this list were typed as numbers, not calculated as formulas, automatic outlining won't work.
The pictures in the help file obviously aren't visible, but it shouldn't matter.