I know, this is at least 3 years late...But maybe someone else needs an answer like I did today.
Dim objXL, objXLSheet as Object
Set objXL = CreateObject("Excel.Application")
objXL.Visible = True
objXL.Workbooks.Add
Set objXLSheet = objXL.Activeworkbook.Sheets("Sheet1")
' Populate the sheet, etc.
With objXLSheet
' Choose one of the following:
' Freeze rows above 3, and left 3 columns.
.Range("D3").Select
objXL.ActiveWindow.FreezePanes = True
' To freeze just row above 2.
.Range("A2").Select
objXL.ActiveWindow.FreezePanes = True
' or to freeze just leftmost column.
.Range("B1").Select
objXL.ActiveWindow.FreezePanes = True
End With
Better late than never. Ken