Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default Creating a macro to sort a complex dynamic named reference

Hi,
I'm having trouble creating a macro that will sort a named reference. I have
data in Columns A-D that will constantly be adding rows at the bottom. I have
4 header rows at the top so the data does not start until A5. I have created
a named reference called "Totals" which looks like this:
"=OFFSET(Totals!$A$5,0,0,COUNTA(Totals!$A:$A)-3,4)"

I then tried the code below to sort it but am getting an error: "The sort
reference is not valid. Make sure that it's within the data you want to sort,
and the first Sort By blow isn't the same or blank."

Application.Goto Reference:="Totals"
Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, Key2:=Range("C5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

I've tried searching but so far haven't found any solutions for using named
references instead of defined blocks of cells for this problem.

Any help would be appreciated!

Thank you,
-Dan
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default Creating a macro to sort a complex dynamic named reference

Here is how I would do it...

Dim rngToSort As Range
Set rngToSort = ThisWorkbook.Names("Totals").RefersToRange

With rngToSort
.Sort Key1:=.Parent.Range("A5"), order1:=xlAscending, _
Key2:=.Parent.Range("C5"), order1:=xlAscending, _
Header:=xlNo
End With

--
HTH...

Jim Thomlinson


"Dan" wrote:

Hi,
I'm having trouble creating a macro that will sort a named reference. I have
data in Columns A-D that will constantly be adding rows at the bottom. I have
4 header rows at the top so the data does not start until A5. I have created
a named reference called "Totals" which looks like this:
"=OFFSET(Totals!$A$5,0,0,COUNTA(Totals!$A:$A)-3,4)"

I then tried the code below to sort it but am getting an error: "The sort
reference is not valid. Make sure that it's within the data you want to sort,
and the first Sort By blow isn't the same or blank."

Application.Goto Reference:="Totals"
Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, Key2:=Range("C5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

I've tried searching but so far haven't found any solutions for using named
references instead of defined blocks of cells for this problem.

Any help would be appreciated!

Thank you,
-Dan

  #3   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default Creating a macro to sort a complex dynamic named reference

Hi Jim,

Unfortunately I still get a runtime 1004 - "Application-defined or
object-defined error". My code looks like this:

Sub SortTotals()

Dim rngToSort As Range
Set rngToSort = ThisWorkbook.Names("Totals").RefersToRange

With rngToSort
..Sort Key1:=.Parent.Range("A5"), order1:=xlAscending, _
Key2:=.Parent.Range("C5"), order1:=xlAscending, _
Header:=xlNo
End With

End Sub

Any ideas on what might be causing this?
-Dan


"Jim Thomlinson" wrote:

Here is how I would do it...

Dim rngToSort As Range
Set rngToSort = ThisWorkbook.Names("Totals").RefersToRange

With rngToSort
.Sort Key1:=.Parent.Range("A5"), order1:=xlAscending, _
Key2:=.Parent.Range("C5"), order1:=xlAscending, _
Header:=xlNo
End With

--
HTH...

Jim Thomlinson


"Dan" wrote:

Hi,
I'm having trouble creating a macro that will sort a named reference. I have
data in Columns A-D that will constantly be adding rows at the bottom. I have
4 header rows at the top so the data does not start until A5. I have created
a named reference called "Totals" which looks like this:
"=OFFSET(Totals!$A$5,0,0,COUNTA(Totals!$A:$A)-3,4)"

I then tried the code below to sort it but am getting an error: "The sort
reference is not valid. Make sure that it's within the data you want to sort,
and the first Sort By blow isn't the same or blank."

Application.Goto Reference:="Totals"
Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, Key2:=Range("C5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

I've tried searching but so far haven't found any solutions for using named
references instead of defined blocks of cells for this problem.

Any help would be appreciated!

Thank you,
-Dan

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Creating dynamic ranges which are named. U0107 Excel Worksheet Functions 1 January 5th 10 11:46 PM
Dynamic named range reference from external workbook vertblancrouge Excel Discussion (Misc queries) 2 August 7th 09 05:07 PM
Macro defining dynamic named ranges adimar Excel Programming 2 May 8th 08 03:46 PM
Creating a Dynamic Named Range Using Sheet Name and Column Header burl_rfc_h Excel Programming 8 February 13th 06 10:53 PM
How to dynamically reference a dynamic named range paris3 Excel Worksheet Functions 4 June 24th 05 01:22 AM


All times are GMT +1. The time now is 02:10 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"