VBA Range.Replace 不起作用

标签 vba excel

所选内容是包含以下公式的 Excel 工作表单元格:

=+'[FORECAST MARZO RESTRUCTURING ITALY 20170403 V3.xlsx]DETTAGLIO'!$BA$20

我运行以下 VBA 代码:

Selection.Replace what:="[FORECAST MARZO RESTRUCTURING ITALY 20170403 V3.xlsx]", _
Replacement:="[AQ_0617 - solo nuova 272.xlsx]" _
   , LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat _
  :=False, ReplaceFormat:=False

执行代码后,我期望公式变为:

=+'[AQ_0617 - solo nuova 272.xlsx]DETTAGLIO'!$BA$20

但是什么也没发生。有什么线索吗?

最佳答案

替换方法不起作用,因为这 2 个 Excel 文件没有相同的工作表,即工作表 '[AQ_0617 - alone nuova 272.xlsx]DETTAGLIO' 不存在。因此,如果执行替换方法,最终公式将包含无效引用

关于VBA Range.Replace 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46473761/

相关文章:

excel - 将线程 ID 传递给 SetWindowsHookEx

excel - 在 excel 365 中以数字为中心的两种颜色条件格式

vba - 在动态创建的工作表上运行代码时出现运行时错误 1004

excel - 如果有超链接,则可以更改形状颜色

vba - Selection.Goto 从 Excel 到 Word

macos - 如何在 Mac Excel 2011 上创建 Web 查询?

python : Reading Large Excel Worksheets using Openpyxl

vba - 按名称获取形状 ID

excel - 使用数组使用 VBA 绘制树/格子

vba - 在 excel 中很难关闭 .exe 进程