Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA范围。替换不工作_Vba_Excel - Fatal编程技术网

VBA范围。替换不工作

VBA范围。替换不工作,vba,excel,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]" _ , L

所选内容是包含以下公式的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

但因泰德什么也没发生。有什么线索吗?

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

Is
AQ_0617-solo nuova 272.xlsx
打开的工作簿?是否在错误恢复下一步使用
?这两个字符串中有不同之处。我不知道是什么,但当我从公式中复制文本并将其粘贴到vba中时,替换就起作用了。这两者之间有些不同。当你说什么都没发生时,你的意思是
替换
不起作用吗?或者它确实进行了替换,但没有数据更新?更换时您没有收到错误吗?如果您使用
F8
单步执行,会有什么结果吗?我已经用上述代码创建了一个Sub,并毫无问题地替换了字符串。没有发生任何事情意味着我没有收到错误消息,并且在代码执行后,公式保持不变。没有“下一步恢复时出错”。执行代码时,所涉及的2个xlsx文件都是打开的。