首页 > 解决方案 > Excel VBA – 根据 D 列的输入更新 BF 列单元格

问题描述

您好,提前感谢您的时间。

我正在使用 Excel 360(64 位)

我的 VBA 技能非常业余,所以我自己无法通过粘贴和调整代码来解决这个问题。

我不确定代码是否应该进入模块或工作表对象。

我有一个“日志表”,用户在其中将日期和各种其他详细信息输入到许多列中。

我想要的是,每次用户在 D 列中输入日期时,VBA 都会自动执行一个公式作为 BF 列中的值。如果 D 列中的单元格为空白,则 BF 列中的单元格应为空白,直到用户输入日期。

我也想要公式 =IF(D2="","","SRC" & YEAR(TODAY()) & TEXT(MONTH(TODAY()),"00") & "-" & TEXT(ROW( )-1,"0000")) 在 VBA 中而不是在 BF 列的单元格中,因为它会减慢工作簿的速度。(参考样品表)

工作表样本

当我手动将公式向下拖动到 BF3000 时,该公式在该行的列中完美运行,但我宁愿将公式的值显示在硬编码的单元格中,而不是将公式放在单元格中(就像仅使用复制和粘贴值)

我使用工作表的代码名称(cnSample,cnTest)而不是工作表名称,以防万一用户更改工作表的名称(至少代码仍然可以正常运行)。

我真的很感激任何帮助。干杯,害羞的蝴蝶

更新:我正在努力编写一个可能正在实现我需要的代码。目前我有一个工作文件,它受密码保护,因为我有许多公式会在行完成时更新。如果 D 列的单元格中有数据,则“报告编号”可以完美运行。如果不是,则 BF 单元格返回空白。我只是想减轻工作簿上的负担......对用户的响应非常慢,这就是我试图通过 VBA 集成公式的原因。

谢谢大家的意见和建议。

标签: excelvbaauto-update

解决方案


推荐阅读