【问题标题】:Converting a Cell Formula into VBA将单元格公式转换为 VBA
【发布时间】:2014-05-25 12:24:46
【问题描述】:

我希望将单元格公式转换为 VBA 代码,这样用户仍然可以在不删除公式的情况下编辑单元格。到目前为止我得到的公式如下,但它阻止了将新值添加到单元格中的选项。我尝试了一些方法,比如在 VBA 中镜像单元格,但我对此很陌生!

=E9-SUMIF('Charge Sheet'!I:I,B9,'Charge Sheet'!H:H)

表 1(收费表)-

F) 成本中心 - 从表 3 中提取

G) 职位代码

H) 数量

I) 设备 - 从表 2 中的名称中提取

J) 成本 - 从表 2 中的单价 (£) 中提取并乘以数量

K) 支持人员 - 使用 VBA 更新以在填写其他字段时显示下订单的用户

L) 发出日期 - 使用 VBA 更新以在其他字段被填写时显示订单的日期

表 2(库存水平)-

A) 商品 ID

B) 姓名

C) 单价 (£)

D) 库存数量 - 当在工作表 1 中订购某个项目时我想要更新的单元格

E) 重新订购水平 - 如果库存数量低于此库存水平,则会发送一封自动电子邮件以请求重新订购

谢谢

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    如果您已经有了公式,那么您可以在 VBA

    中对其进行评估
    Sub dural()
        Dim s As String, x As Variant
        s = "E9-SUMIF('Charge Sheet'!I:I,B9,'Charge Sheet'!H:H)"
        x = Evaluate(s)
    End Sub
    

    这假定正确的工作表已经处于活动状态。

    【讨论】:

    • 嗨。谢谢你回到我身边。问题是当有人在收费表中下订单时,我想在不同的工作表(库存水平,“库存质量”)中更新总数。这有可能吗?因此,将激活的工作表是 Charge Sheet,一旦更改,它将更新 Stock Levels 中的级别。
    • 如果目标是在允许用户使用覆盖值的同时保留单元格的公式,那么我将使用 三个 单元格方法。例如,将公式放在 Z1 中,将 Z2 留空给用户,并在第三个单元格中 =IF(Z2="",Z1,Z2) ...。 .so Z1 中的公式永远不会改变,如果用户想要覆盖它,他们会在 Z2 中放置一个值
    • 谢谢 GS,这几乎就是我想要的。唯一的问题是,如果带有公式的单元格下降了一个,它不会自动更新镜像单元格,但如果你更新镜像单元格,那么另一个会下降。
    • 有没有办法准确地反映该单元格显示的内容?这可能吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 2021-05-07
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多