用变量名

时间:2017-10-02 11:46:18

标签: excel vba excel-vba

我正在制作excel表,我需要显示另一个单元格中使用的公式。我有2张桌子。表一包含:

+-----------+-------+-------+------+
| Parameter | Short | Value | Unit |
|   Name    |       |       |      |
+-----------+-------+-------+------+
| Diameter  | D     | 50    | mm   |
+-----------+-------+-------+------+
| Wanddikte | T     | 5     | mm   |
+-----------+-------+-------+------+
| Lengte    | L     | 200   | mm   |
+-----------+-------+-------+------+

第二张表:

+----------------------+-------+-------------+------+-----------------+
| Name                 | Short | output      | Unit | Formula         |
+----------------------+-------+-------------+------+-----------------+
| Doorsnede oppervlakt | A1    | 1963,495408 | mm   | =0,25*PI()*C3^2 |
+----------------------+-------+-------------+------+-----------------+
| Binnendiameter       | ID    | 40          | mm   | =C3-2*C4        |
+----------------------+-------+-------------+------+-----------------+
| Verfoppervlakt       | Averf | 31415,92654 | mm2  | =PI()*C3*C5     |
+----------------------+-------+-------------+------+-----------------+

现在我想更改第二个表的最后一列。在那里,您会看到单元格引用:C3C4C5

这些是指第一个表格中的单元格(列)。但是我没有显示C3(表1中的值= 50),而是想在表1中显示D()。

表2中的最后一列包含excel公式:=FORMULATEXT(...),它引用表2中的输出计算。

如何使用第二个表的最后一列中的Short列中的值替换单元格引用?

1 个答案:

答案 0 :(得分:0)

1)您可以使用命名范围。 例如:C3将是一个名为D的命名范围。然后在您的公式中,您将写入= 25 * PI()* D ^ 2,您将按要求获得FORMULATEXT。 C4将是一个名为T的命名范围,C5是一个名为L的命名范围。 要创建命名范围,请单击要输入名称的单元格,例如, C3然后转到左上角的名称框然后输入名称,例如D. 见这里:Named ranges

2)考虑使用辅助列,您可以在其中放置以下内容: '= 0,25 * PI()* D ^ 2。隐藏具有FORMULATEXT结果的列,并使辅助列保持可见。 '开始时意味着Excel不会尝试评估单元格内容。

我认为如果你使用像D这样的简单字母,这可能会让人感到困惑。这不是对D实际存在的描述,而是可以将其混淆为部分单元格引用。