View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Ed Ed is offline
external usenet poster
 
Posts: 399
Default Sorting Excel object?

Key 2 and Key 3 are both Order2. Try changing one to Order3 and see if that
helps.

Ed

"Chuck" wrote in message
...
Hi. I'm having trouble sorting an Excel spreadsheet that I create as an
object (see code below).

The code creates the spreadsheet and populates it from an outside data
source just fine.

However when I try to sort objExcel.Worksheets(1) (see the code), I get an
error message saying "Sort method of Range class failed". Thing is, when

I
copy the sorting portion code into the VB editor window for the
objExcel.Worksheet, strip out "objExcel." then the sort works fine.

Any ideas on how I can sort the Excel object I've created? Thanks...

Public Sub PopulateWorksheetWithContacts()

Dim conn As Object
Dim contactSearch As Object
Dim i As Integer
Dim objExcel As New Excel.Application

Set conn = CreateObject("InterAction.Connection")

conn.Login

If conn.IsLoggedIn Then
Set contactSearch = conn.NewContactSearch
contactSearch.FolderId = "Firm Personnel"
contactSearch.Execute
Set contacts = contactSearch.Results
End If

objExcel.Workbooks.Add

If Not contacts Is Nothing Then
For i = 1 To contacts.Count
With objExcel.Worksheets(1)
.Cells(i, 1).Value = contacts(i).FirstName
.Cells(i, 2).Value = contacts(i).LastName
.Cells(i, 3).Value = contacts(i).Department
' .Cells(i, 4).Value = contacts(i).Phones(1).Phone
' .Cells(i, 5).Value = contacts(i).Eaddresses(1).Address
End With
Next i
Else
MsgBox "There has been a problem populating your Authors list"
End If

objExcel.Worksheets(1).Range("A1").Sort _
Key1:=Worksheets(1).Columns("A"), Order1:=xlAscending, _
Key2:=Worksheets(1).Columns("b"), Order2:=xlAscending, _
Key3:=Worksheets(1).Columns("c"), Order2:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom

End Sub