我有以下命名范围(其中一些是 INDEX/MATCH 动态范围)及其随附的公式,它们出现在我的工作簿的名称管理器中:
- Q1_BusinessWorkd_ID ='Q1 数据'!$C$35:INDEX('Q1 数据'!$G$35:$G$1048576,MATCH("zzzzz",'Q1 数据'!$C$35:$C$1048576,1)-1)
- Q1_Data ='Q1 数据'!$B$35:INDEX('Q1 数据'!$CF$35:$CF$1048576,MATCH("zzzzz",'Q1 数据'!$C$35:$C$1048576,1))
- Q1_Data_Start ='Q1 数据'!$B$35
- Q1_Row1_Column_Formulas ='Q1 数据'!$H$35:$CF$35
- Q1_Vlookup_Data ='Q1 数据'!$C$35:INDEX('Q1 数据'!$CF$35:$CF$1048576,MATCH("zzzzz",'Q1 数据'!$C$35:$C$1048576,1))
可以使用以下 VBA 代码将不包含 INDEX 和 MATCH 语句的公式添加到工作簿的命名范围:
ActiveWorkbook.Names.Add Name:="Q1_Data_Start", RefersTo:="='Q1 Data'!$B$35"
ActiveWorkbook.Names.Add Name:="Q1_Row1_Column_Formulas", RefersTo:="='Q1 Data'!$H$35:$CF$35"
但是,包含 INDEX 和 MATCH 语句的公式会生成编译语法错误。我不知道如何更正 INDEX - MATCH 公式的语法以不产生语法错误。
有谁知道如何纠正这个问题?