更改多个工作表的variables?

我有一个Excel工作簿,其中包含多个工作表,用于汇总系统中不同技术组件(设置在不同工作表中)的成本和收入。

我想要一个主工作表,用户可以从技术工作表中更改一小部分重要的variables。 我也希望这些重要的variables可以在技术说明书上定义和编辑。

我一直在使用命名的范围来pipe理variables,但我不知道如何将不同的表单上的两个单元格链接到一个variables。 例如,我想要命名在不同公式中引用的variables“oilprice”。 我希望能够从工作簿中的主工作表和电力技术表中更改variables“oilprice”。

同样,我希望能够在两张表格上勾选“打开电源”框,另一张表格上的checkbox也会更改。

我一直在环顾谷歌和计算器,但无法find答案。 谢谢!

命名范围,选项1:“覆盖”式公式

使用命名范围,您无法更新多个单元格中的值。 您可以在公式中使用逻辑来查看“覆盖”单元格,并将该值传递给实际命名的范围。 如果覆盖的数量很小,这是有效的。 公式的风格如下所示:

=IF(ISBLANK(oilprice2), oilprice1, oilprice2) 

oilprice1oilprice2是可能存在价值的单元。 请注意,这些隐含的命令会在一段时间后变得混乱。 也就是说,如果oilprice2有价值,它不会改变oilprice1也不会考虑oilprice1

命名范围覆盖

命名范围,选项2:滚动条或旋转控制

类似于下面的checkbox的另一个选项是使用旋转控制或滚动条控件更新值。 那些工作跨多张。

表单中的checkbox

对于checkbox,这由Cell Link处理。 您可以设置多个checkbox来控制单个单元格的值。

以下是两个共享相同Cell Link = $C$2checkbox的示例。 点击时它们都会改变。

在这里输入图像描述

好吧,我想出了如何让两个单元格引用相同的值。

我在“电力”表上命名了一个范围“石油价格”。

在“主”表上input油价的单元格具有公式“= oilprice”,并被命名为“oilprice2”,显示了“电力”表“油价”命名区间上的值。

然后,当您更改主表单上的“oilprice2”单元格并回到显示“oilprice”的公式时,我做出了以下更新电子表格中“oilprice”单元格的vba代码:

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Target.Worksheet.Range("oilprice2")) Is Nothing Then Application.EnableEvents = False Worksheets("electricity").Range("oilprice").Value = _ Worksheets("main").Range("oilprice2").Value Worksheets("main").Range("oilprice2").Value = "=oilprice" Application.EnableEvents = True End If End Sub