在公式中插入可变string

一直在这个工作,似乎无法弄清楚。 我觉得我差不多在这里,多亏了在这里不同的职位。 这是我正在做的事情:

我有一个依赖列表,我希望根据第一个列表的select将其更改为第一个值。 我在这里find了一个代码,我修改了我的工作表,但我必须更改第一个列表中的所有名称,以符合定义名称规则(即没有空格)。 这个工作,我可以离开它,但我宁愿在我的列表中有空格。 每当我使用我用来更改列表中显示的名称的公式时,VBA脚本不再起作用。 我觉得这是因为它没有看到目标单元格中​​的变化,虽然值正在变化,但单元格中的公式不是。 这是一个准确的说法吗? 如果是这样,我可以改变什么使它按照我想要的方式工作? 现在,依赖列表运行了=INDIRECT("$B$5)但是我希望它运行=INDIRECT('Store Data'!$A$23)包含VLOOKUP公式的=INDIRECT('Store Data'!$A$23)

这里是我现在使用的VBA脚本:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng(1) As Range, rng1 As Range Set rng(0) = Range("B5") 'your primary selection Set rng(1) = Range("G5") 'your secondary selection range Application.EnableEvents = False If Not Intersect(Target, rng(0)) Is Nothing Then 'if you have changed your primary selection For Each rng1 In rng(1) 'each cell in your secondary selection i = i + 1 rng1 = Worksheets("SD Names").Range("" & rng(0).Value2)(i, 1) 'gets changed to the nth value in the indirect reference of the primary selection ("TeamA" 's second row is "MemberA2" for example) Next End If Application.EnableEvents = True End Sub 

希望这是足够的细节,谢谢你的帮助!