How to select a Dynamic Named Range without VBA

MrDB4Excel

Active Member
Joined
Jan 29, 2004
Messages
348
Office Version
  1. 2013
Platform
  1. Windows
The range you see with headings in row "1", now encompassing rows 1 through 10, changes regularly.
I want to be able to select this dynamic range but only select from row 2 through to the last non-blank row (in this case row 10).
And how do I want to select this dynamic range? By picking a single cell elsewhere on the sheet, for example, either with a link cell or a button that gets (selects) all content within the dynamic range below the headings in row "1" so it can be cleared to make empty cells for new data that is copied from another workbook. The link cell labeled "Get ClearContentDateSort" now only selects the static range A2:E10, but if the new data coming in goes down to for example row "!2" then picking this link cell will still only select A2:E10.
As you can see by the formulas above I have tried several things but they all do not do what I want.
Any help will be much appreciated.

DateSort.xlsx
ABCDEF
209/16/2021 10:46:06John Doe 1Subject 1John Doe 2863 >
309/16/2021 16:23:48John Doe 2Subject 2John Doe 1864 >
409/16/2021 20:36:13John Doe 1Subject 1John Doe 2865 >
509/17/2021 10:03:48John Doe 2Subject 2John Doe 1866 >
609/17/2021 11:29:18John Doe 2Subject 2John Doe 1867 >
709/17/2021 18:30:01John Doe 1Subject 1John Doe 2868 >
809/17/2021 19:22:07John Doe 2Subject 2John Doe 1869 >
909/17/2021 19:29:01John Doe 2Subject 2John Doe 1870 >
1009/18/2021 00:47:26John Doe 1Subject 1John Doe 2871 >
11
12
13=OFFSET(DateSort!$A$1,0,0,COUNTA(DateSort!$A:$A),$1:$1)
14=OFFSET($A$1,0,0,COUNTA($A:$A),1)
15=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)
16=OFFSET(OutlookSortByDate!$A$2,0,0,SUMPRODUCT(MAX((OutlookSortByDate!$A:$A<>"")*ROW(OutlookSortByDate!$A:$A))),1)
17=$A$2:INDEX($A:$A, COUNTA($A:$A))
18=OFFSET(DateSort!$A$1,0,0,SUMPRODUCT(MAX((DateSort!$A:$A<>"")*ROW(DateSort!$A:$A))),1)
19
20How to select a Dynamic Named Range without VBA
21The range you see with headings in row "1", now encompassing rows 1 through 10, changes regularly. I want to be able to select this dynamic range but only select from row 2 through to the last non-blank row (in this case row 10). And how do I want to select this dynamic range? By picking a single cell elsewhere on the sheet, for example either with a link cell or a button that gets (selects) all content within the dynamic range below the headings in row "1" so it can be cleared to make empty cells for new data that is copied from another workbook. The link cell labeled "Get ClearContentDateSort" now only selects the static range A2:E10, but if the new data coming in goes down to for example row "!2" then picking this link cell will still only select A2:E10. As you can see by the formulas above I have tried several things but they all do not do what I want. Any help will be much appreciated.
22
23Get DateSortClearContent
DateSort
 

Excel Facts

Convert text numbers to real numbers
Select a column containing text numbers. Press Alt+D E F to quickly convert text to numbers. Faster than "Convert to Number"
Get to Formula Tab Select Name Manager, Select New
Then at the Name Box add name for Dynamic Range
At The Refer to Box add This ( Change Sheet1 to your sheet Name)
Excel Formula:
=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A) - 1,COUNTA(Sheet1!$1:$1))
Press OK and Then Close.
Now, When you input Dynamic Range Name at the Name Box of Excel ( where the Cell address appears = Left of Formula bar) and Press Enter
Your Dynamic Range Automatically Select.
 
Upvote 0
Thanks. Works great. Now is there a way to populate that name box that is to the left of the formula bar via either a formula or a cell pick that causes the range to be selected or some kind of simple method other than picking in the name box and entering the Dynamic Range Name? And of course without using VBA.
 
Upvote 0
For formula yes, Only Replace of Dynamic Range Address with Name you defined.
for selecting dynamic range, I don't know any way, maybe others have options.

AND why you don't use Table for Range, Select one Cell in Range and then Press CTRL+T
You can change Table Name and Properties at Design Tab.
Also it is dynamic if add rows, it changes table size.
Then When you want to Input formula at any cell and select header row or column when see black arrow, its name automatically added to formula
 
Last edited:
Upvote 0
I edit my previous post, check again.
You're Welcome & Thanks for Feedback.
 
Upvote 0
It got me to thinking about another formula I am using in another workbook. So I copied that formula and inserted it in this workbook I am testing as follows:
=HYPERLINK("#CCDS","Get ClearContentDateSort")
CCDS is the Dynamic Range Name and when I added rows or deleted rows it works perfectly.
Many thanks maabadi.
I guess I only have one thing that may mess it up and that is if the area I want to do this to in another workbook is a table.
I just now made it work with a table in the other workbook.
Kudos to maabadi
 
Upvote 0

Forum statistics

Threads
1,223,903
Messages
6,175,284
Members
452,630
Latest member
OdubiYouth

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top