G
Guest
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
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