ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Sort by two columns using VB Script (https://www.excelbanter.com/excel-programming/395141-sort-two-columns-using-vbulletin-script.html)

Martin X.

Sort by two columns using VB Script
 
Hello,

I'm trying to sort an Excel spreadsheet by A1 then B1. I recorded a macro
and looked at the VBA code and it looks like I have the syntax correct, but
I get a "Reference is not valid" error. Below is some code with comments.
Thanks.

Set objExcelRange1 = objExcelWs.UsedRange
Set objExcelRange2 = objExcel.Range("A1")
Set objExcelRange3 = objExcel.Range("B1")
objExcelRange1.Sort objExcelRange2,1,,,,,,,1 '<< This works ok for sorting
by A1 only
objExcelRange1.Sort objExcelRange2,1,objExcelRange3,1,,,,,1 '<< I get an
error here

--
Regards,
Martin X.
MCSA: M



Tom Ogilvy

Sort by two columns using VB Script
 
there is an additional argument between Key2 and Order2

expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header,
OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2,
DataOption3)

it should be

objExcelRange1.Sort objExcelRange2,1,objExcelRange3,,1,,,,1
I would guess

--
Regards,
Tom Ogilvy



--
Regards,
Tom Ogilvy


"Martin X." wrote:

Hello,

I'm trying to sort an Excel spreadsheet by A1 then B1. I recorded a macro
and looked at the VBA code and it looks like I have the syntax correct, but
I get a "Reference is not valid" error. Below is some code with comments.
Thanks.

Set objExcelRange1 = objExcelWs.UsedRange
Set objExcelRange2 = objExcel.Range("A1")
Set objExcelRange3 = objExcel.Range("B1")
objExcelRange1.Sort objExcelRange2,1,,,,,,,1 '<< This works ok for sorting
by A1 only
objExcelRange1.Sort objExcelRange2,1,objExcelRange3,1,,,,,1 '<< I get an
error here

--
Regards,
Martin X.
MCSA: M




Martin X.

Sort by two columns using VB Script
 
Yep, that was it. Thanks.

--
Regards,
Martin X.
MCSA: M


"Tom Ogilvy" wrote in message
...
there is an additional argument between Key2 and Order2

expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header,
OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2,
DataOption3)

it should be

objExcelRange1.Sort objExcelRange2,1,objExcelRange3,,1,,,,1
I would guess

--
Regards,
Tom Ogilvy



--
Regards,
Tom Ogilvy


"Martin X." wrote:

Hello,

I'm trying to sort an Excel spreadsheet by A1 then B1. I recorded a macro
and looked at the VBA code and it looks like I have the syntax correct,
but
I get a "Reference is not valid" error. Below is some code with comments.
Thanks.

Set objExcelRange1 = objExcelWs.UsedRange
Set objExcelRange2 = objExcel.Range("A1")
Set objExcelRange3 = objExcel.Range("B1")
objExcelRange1.Sort objExcelRange2,1,,,,,,,1 '<< This works ok for sorting
by A1 only
objExcelRange1.Sort objExcelRange2,1,objExcelRange3,1,,,,,1 '<< I get an
error here

--
Regards,
Martin X.
MCSA: M







All times are GMT +1. The time now is 01:44 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com