ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   dynamic named ranges (https://www.excelbanter.com/excel-programming/322791-dynamic-named-ranges.html)

peter

dynamic named ranges
 
Hi,
I found this on the web
offset(indirect(address(match("H*",sheet1!$a$2:$a$ 1000,0)
+1,1)),0,0,countif(sheet1!$a$2:$a$1000,"H*"),1)
It works fine when entered as a named range in the ss.
When I try to use it in VBA it errors.

ActiveWorkbook.Names.Add Name:="test",
RefersToR1C1:="=OFFSET(INDIRECT(ADDRESS(MATCH(" & "h*"
& ",Sheet1!$A$2:$A$1000,0)+1,1)),0,0,COUNTIF(She et1!
$A$2:$A$1000," & "h*" & "),1)"

I hope it has something to do with the quotes not the use
of indirect.
I want to be able to replace the "h*" with a variable.

Any help greatly appreciated.

peter

JE McGimpsey

dynamic named ranges
 
Just as in XL, quotation marks within a VBA string must be doubled:

RefersToR1C1:="OFFSET(INDIRECT(ADDRESS(MATCH(""H*" ",sheet1!...


To use a variable

Dim sVar As String
sVar = "H*"

RefersToR1C1:="OFFSET(INDIRECT(ADDRESS(MATCH(""" & sVar & _
""",sheet1!...

However, if you're using RefersToR1C1, you have to use R1C1 notation,
not A1-notation, so Sheet1!$A$2:$A$1000 becomes Sheet1!R2C1:R1000C1, or
else change RefersToR1C1 to RefersTo



In article ,
"peter" wrote:

Hi,
I found this on the web
offset(indirect(address(match("H*",sheet1!$a$2:$a$ 1000,0)
+1,1)),0,0,countif(sheet1!$a$2:$a$1000,"H*"),1)
It works fine when entered as a named range in the ss.
When I try to use it in VBA it errors.

ActiveWorkbook.Names.Add Name:="test",
RefersToR1C1:="=OFFSET(INDIRECT(ADDRESS(MATCH(" & "h*"
& ",Sheet1!$A$2:$A$1000,0)+1,1)),0,0,COUNTIF(She et1!
$A$2:$A$1000," & "h*" & "),1)"

I hope it has something to do with the quotes not the use
of indirect.
I want to be able to replace the "h*" with a variable.

Any help greatly appreciated.



All times are GMT +1. The time now is 03:49 AM.

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