excel - 如何通过 VBA 为链接值添加或减去数字?
问题描述
我正在尝试自动化一些复制粘贴工作,我需要通过在现有报告中添加和减去更新的数字来做到这一点。
但我不应该破坏现有报告中的链接,例如,如果单元格是=link
,它应该是=link - value
。
我已尝试使用该CStr
功能,但仍然收到类型不匹配错误。
我也尝试不使用该CStr
函数,即直接添加或减去值。
粘贴真值但断开链接:
Sheets(ComboBox1.Value).Range("I50").Value = Workbooks("2019 Actual Nav - Temmuz Linksiz").Worksheets(ComboBox1.Value).Range("E39").Value - OSmaas - TLmaas + TotPrim
Sheets(ComboBox1.Value).Range("I55").Value = Workbooks("2019 Actual Nav - Temmuz Linksiz").Worksheets(ComboBox1.Value).Range("E44").Value - TotPrim
Sheets(ComboBox1.Value).Range("I50").Value = "=+'\\ccfs1\Mali Isler\MIS\2019 Actual\Actual Navigator\[2019 Actual Nav - Temmuz Linksiz.xlsx]" + ComboBox1.Value + "'!$E$39-I52-I51" + CStr(TotPrim)
Sheets(ComboBox1.Value).Range("I55").Value = "=+'\\ccfs1\Mali Isler\MIS\2019 Actual\Actual Navigator\[2019 Actual Nav - Temmuz Linksiz.xlsx]" + ComboBox1.Value + "'!$E$43" - CStr(TotPrim)
输出应该是指定单元格中的值更新,但我不断收到类型不匹配错误。
PS:我尝试删除+ CStr(TotPrim)
和- CStr(TotPrim)
部分,代码工作得很好。
解决方案
这里有一些更正将使您的代码正常工作:
- 而不是
.Value
你应该使用.Formula
或者.FormulaLocal
如果你想使用语言特定的公式。 - 在 VBA字符串连接中,使用
&
运算符而不是+
. - 由于它是一个公式,因此您必须在字符串中包含运算符,否则解析器将抛出错误(而不是
"E3" - TotPrim
使用"E3-" & TotPrim
)。
应用更正后,您的代码应如下所示:
Sheets(ComboBox1.Value).Range("I50").Value = Workbooks("2019 Actual Nav - Temmuz Linksiz").Worksheets(ComboBox1.Value).Range("E39").Value - OSmaas - TLmaas + TotPrim
Sheets(ComboBox1.Value).Range("I55").Value = Workbooks("2019 Actual Nav - Temmuz Linksiz").Worksheets(ComboBox1.Value).Range("E44").Value - TotPrim
Sheets(ComboBox1.Value).Range("I50").FormulaLocal = "=+'\\ccfs1\Mali Isler\MIS\2019 Actual\Actual Navigator\[2019 Actual Nav - Temmuz Linksiz.xlsx]" & ComboBox1.Value & "'!$E$39-I52-I51+" & CStr(TotPrim)
Sheets(ComboBox1.Value).Range("I55").FormulaLocal = "=+'\\ccfs1\Mali Isler\MIS\2019 Actual\Actual Navigator\[2019 Actual Nav - Temmuz Linksiz.xlsx]" & ComboBox1.Value & "'!$E$43-" & CStr(TotPrim)
注意:我在我的 Excel 上测试了这段代码(使用不同的路径),它可以工作。
希望这可以帮助。
推荐阅读
- c - 当我尝试将文件读取到结构时,我的程序退出
- sql - SQL 只获取列中所有值的项目
- php - Laravel - 用指定的键采摘
- windows - 在 Windows 10 上安装 Hadoop
- flutter - 在颤振应用程序中保持嵌套页面持久
- php - 使用 HTML 复选框在 PHP 代码中动态创建 SQL 查询
- c++ - 使用动态库 qpOASES 和 CMakeList.txt 时未定义对 qpOASES 的引用
- elasticsearch - Painless Scripting Kibana 6.4.2 不使用匹配器匹配,但使用条件表达式匹配
- youtube - YouTube 可能会禁止您的非活动项目访问 YouTube 数据 API 服务
- sql - 使用 where 子句和最近的日期选择不同的