I figured out one way to do it though I know it is a bastardized way to do it. I found where someone else asked this for the 2007 version and never received an answer so it may help others in the future. By doing select all then picking activecell it starts on the first row everytime and runs until the next row is an error. If anyone has any better methods I would love to know I have been doing VBA for about 10 years now in Excel, Access, Word, and Outlook in that order of proficiency and am totally self taught so programming in Project the last week has been an interesting learning curve.
Sub testgrouptitle()
Dim c As String
Dim TmpArray() As Variant
'set view
Application.GroupApply "test"
OutlineShowTasks OutlineNumber:=pjTaskOutlineShowLevel1
r = 0
SelectAll
Do
c = Application.ActiveCell.Task.Name & "|" & Application.ActiveCell.Task.PercentComplete
ReDim Preserve TmpArray(r)
TmpArray(r) = c
r = r + 1
Application.SelectCellDown
On Error GoTo endloop 'will error on last row if blank
c = Application.ActiveCell.Task.Name
Loop
endloop:
'test results
For i = LBound(TmpArray) To UBound(TmpArray)
MsgBox TmpArray(i)
Next i
'reset view
FilterClear
Application.GroupClear
OutlineShowTasks OutlineNumber:=pjTaskOutlineShowLevelMax
End Sub