<FWIW>
I did some thinking about your approach after working on one of my VB6
frontloader apps for Excel automation. (Excel is my primary dev
platform, but I use a VB6.exe frontloader for various reasons, the main
reason being so my Excel addins use their own instance of Excel)
Your comment about the Delete alert suggests you remove (or want to
remove) Sheets("Name") when you're done. Instead of deleting, you can
just hide it (no alert raised) by setting its Visible prop False.
OR
If it's a specially formatted sheet you could ship it as a separate
file and use the Sheets.Add method of the oWB object...
Dim wkbTarget As Object '//the current file to receive data
Dim wksTarget As Object '//the current name sheet to receive data
Set wkbTarget = appXL.Workbooks.Add Template:=App.Path & "\Summary.xls"
Set oWS = wkbTarget.Sheets(1)
wsRow(1) = 4: i = 2
Do While Not rsT.EOF
oWS(1).Cells(wsRow(1), 1) = rsT.Fields(0)
'Reset counters for next record
i = i + 1: wsRow(1) = wsRow(1) + 1
'Add a copy of sheet "Name" for each name in rsT
Set wksTarget = wkbTarget.Sheets.Add _
Type:=App.Path & "\Namesheet.xls", _
After:=wkbTarget.Sheets(wkbTarget.Sheets.Count)
With wksTarget
.Name = rsT.Fields(0) '//rename immediately
.Cells(1, 2) = rsT.Fields(0): .Cells(1, 7) = sReportDate
End With
rsT.MoveNext
Loop
OR
If it's just a blank sheet then you can remove the line above that
specifies the Type arg for the Sheets.Add method.