具有动态创建名称的Excel VBA命名范围
我的宏有问题。我知道它有很多代码(sry的),但我认为它可能是有益的。所以我想做的基本事情是,获取combobox的值,并在另一个工作表中搜索它,以获得写入下一列的价格。 到目前为止很简单,但我搜索的名称在数据库中不是唯一的。我正在搜索的仅通过搜索正确命名范围的一部分(即EngineRecedesDiesel)来定义 我希望你能帮我,(希望)你能给我一个简单的答案好的,我终于做到了具有动态创建名称的Excel VBA命名范围,excel,vba,Excel,Vba,我的宏有问题。我知道它有很多代码(sry的),但我认为它可能是有益的。所以我想做的基本事情是,获取combobox的值,并在另一个工作表中搜索它,以获得写入下一列的价格。 到目前为止很简单,但我搜索的名称在数据库中不是唯一的。我正在搜索的仅通过搜索正确命名范围的一部分(即EngineRecedesDiesel)来定义 我希望你能帮我,(希望)你能给我一个简单的答案好的,我终于做到了 ElseIf checkboxmech.Value = True Then c = checkboxme
ElseIf checkboxmech.Value = True Then
c = checkboxmech.Caption
mname = teil & hersteller & c
Set go = Worksheets("Gruppendatenbank").Range(mname)
Tabelle3.Range("C4").Value = getprice(go, handle)
将mname定义为变量数据类型并定义我的范围内的工作表非常重要。
谢谢你的帮助
状态更新:已解决 能否将正确的命名范围作为另一个参数传递到函数中?如果是这样的话,我认为在这种情况下代码很容易更新。sry我不明白你说的“另一个参数”是什么意思!?问题是,即使我直接在函数中键入名称,它也不起作用,因为他不知道这是一个范围,我知道你得到了答案,但我的建议是将命名范围传递到修复中。因此,您可以为命名范围添加第三个参数,而不是仅使用“Matrix”和“name”中的两个参数。不管怎样,你都得到了你需要的:)
ElseIf checkboxmech.Value = True Then
c = checkboxmech.Caption
mname = teil & hersteller & c
Set go = Worksheets("Gruppendatenbank").Range(mname)
Tabelle3.Range("C4").Value = getprice(go, handle)