Matt,
Thanks for the Nice words your sweet, thanks for your help.

One thing that I found is that pivot tables are very large and if I have several
groups my workbook will be in the many gigabytes range

Tony was able to help me out with the main sheet issue on another forum.
http://www.ozgrid.com/forum/showthre...993#post172993

So after looking at his code I thought to myself, why don't I just copy the main sheet user data to it's group sheet like in column G2.

I love your solution to my create sheet issue it works great .

I am still trying to figure out tony's code, but is work well
see below:
[VBA]
Sub GetGroups()

Sheets("main menu").Range("d6:e30").ClearContents

lastrow = Sheets("CSV Data").Range("d65536").End(xlUp).Row
Dim nodupes As New Collection
For Each ce In Sheets("CSV Data").Range("D2" & lastrow)
On Error Resume Next
nodupes.Add Item:=ce, key:=CStr(ce)
Next ce

For i = 1 To nodupes.Count
Sheets("Main Menu").Range("d5").Offset(i, 0).Value = nodupes(i)
Sheets("Main Menu").Range("d5").Offset(i, 1).Value = WorksheetFunction.CountIf(Sheets("csv data").Range("d1:d" & lastrow), nodupes(i))
Next i

End Sub
[/VBA]

[VBA]
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("D630")) Is Nothing Then
Range("G6:I30").ClearContents
lastrow = Sheets("csv data").Range("e65536").End(xlUp).Row
Dim nodupes As New Collection
For Each ce In Sheets("csv data").Range("d2:d" & lastrow)
If ce = Target.Value Then
On Error Resume Next
nodupes.Add Item:=ce.Offset(0, 1), key:=CStr(ce.Offset(0, 1))
End If
Next ce
For i = 1 To nodupes.Count
Sheets("Main Menu").Range("G5").Offset(i, 0).Value = nodupes(i)
Sheets("Main Menu").Range("G5").Offset(i, 1).Value = WorksheetFunction.CountIf(Sheets("csv data").Range("E2:E" & lastrow), nodupes(i))
Next i

'Sheets("Main Menu").Range("I65536").End(xlUp).Offset(1, 0).Value = Evaluate("=SUM(I6:I" & Worksheets("Main Menu").Range("I65536").End(xlUp).Row & ")")
End If

End Sub
[/VBA]

I just want to say that all you guys on this site are fantastic
Thanks for everything