Excel VBA从工作表中的公式创建命名范围

时间:2018-01-04 10:24:43

标签: excel excel-vba excel-formula excel-2016 vba

您好我的部分VBA代码存在问题。

我正在创建一个多动态表,帮助我保持对程序的控制。 因此,当我调整表格中的内容时,我可以使用此代码更新我的所有代码。

在表格中,我使用此代码来查找我需要的数据,到目前为止它的效果很好。

Source_1_Criteria = "Factuur"
Source_1 = Range("MDM_MDM_Tool_List").Find(what:=Source_1_Criteria).Offset(0, 1).Value

Me.ListBox1.RowSource = Source_1

现在我想用一些额外的相同代码来创建命名范围。 当我使用只有一些文本的单元格时,这种方法有效,但当我用公式填充单元格时,VBA会抛出错误。

Source_1_Criteria = "Factuur"
Source_1_Name = Range("MDM_MDM_Tool_List").Find(what:=Source_1_Criteria).Offset(0, 2).Value
Source_1_Area = Range("MDM_MDM_Tool_List").Find(what:=Source_1_Criteria).Offset(0, 4).Value

ActiveWorkbook.Names.Add Name:=Source_1_Name, RefersTo:=Source_1_Area

范围Source_1_Area的内容是

=VERSCHUIVING(archief!$A$2;0;0;1;AANTALARG(archief!$A$3:$Y$3))

当我在内容中放置= archief!$ A $ 2时,我使用的代码确实有用

为什么我的大公式不起作用?

1 个答案:

答案 0 :(得分:1)

这将使用您在指定范围中提供的公式

$(document).each.on("change","input[type='color']",function(){});

您可以将公式硬编码到命名区域,并在添加新数据时自动调整(基本上是我的代码所做的)。