Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有动态创建名称的Excel VBA命名范围_Excel_Vba - Fatal编程技术网

具有动态创建名称的Excel VBA命名范围

具有动态创建名称的Excel VBA命名范围,excel,vba,Excel,Vba,我的宏有问题。我知道它有很多代码(sry的),但我认为它可能是有益的。所以我想做的基本事情是,获取combobox的值,并在另一个工作表中搜索它,以获得写入下一列的价格。 到目前为止很简单,但我搜索的名称在数据库中不是唯一的。我正在搜索的仅通过搜索正确命名范围的一部分(即EngineRecedesDiesel)来定义 我希望你能帮我,(希望)你能给我一个简单的答案好的,我终于做到了 ElseIf checkboxmech.Value = True Then c = checkboxme

我的宏有问题。我知道它有很多代码(sry的),但我认为它可能是有益的。所以我想做的基本事情是,获取combobox的值,并在另一个工作表中搜索它,以获得写入下一列的价格。 到目前为止很简单,但我搜索的名称在数据库中不是唯一的。我正在搜索的仅通过搜索正确命名范围的一部分(即EngineRecedesDiesel)来定义

我希望你能帮我,(希望)你能给我一个简单的答案

好的,我终于做到了

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)