【发布时间】:2016-12-30 17:44:21
【问题描述】:
如果另一个单元格包含任何文本,在 VBA 中是否可以添加到单元格中?
例如:
F列中包含文本的FOREACH单元格
在 G 列写“已分配”
如果单元格 F 为空白,则跳过单元格
我知道有一个公式 ["=IFERROR(IF(SEARCH(""*"",RC[-1],6),""ASSIGNED""),"""")"],但我将此文件导入到的应用程序不接受包含公式的工作簿。
提前感谢您的帮助。
【问题讨论】:
-
在 VBA 中只需循环遍历范围,例如(伪代码):
For each cel in Range("F2:F1000") // if cel.value <> "" then cel.offset(0,1).Value = "ASSIGNED" // end if?或者也许使用IsEmpty()?一个快速的想法 - 如果您的导入不接受公式,它接受宏?您总是可以使用您的公式,然后在其上复制/粘贴值,从而删除公式......如果公式已经不在桌面上,我非常怀疑它会接受 VBA。 -
为什么不运行公式并将值复制并粘贴为值,range.value=range.value?
-
VBA 代码可以工作的原因是因为它是从我的 PERSONAL.xlsb 而不是导出的工作簿运行的。我将这些文件导入到的应用程序中,除了包含 VBA 或公式的工作簿。我将尝试处理公式中的值,但我认为在我的个人工作簿中的导出宏中内置一个 VBA 例程会更好。
标签: vba excel excel-2010