![]() |
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 |
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 |
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