以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Excel 设置公式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142532)

--  作者:fubblyc
--  发布时间:2019/10/30 9:41:00
--  Excel 设置公式
老师,设置公式,跨工作簿工作表的,有这样的一个问题:
表格公式是这样的:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191030094032.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191030094052.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191030093623.png
图片点击可在新窗口打开查看
这是正常的,然后我加上那句替代的代码,就不对了。

--  作者:fubblyc
--  发布时间:2019/10/30 9:43:00
--  
打开会提示:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191030093936.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/10/30 9:45:00
--  
哪句替代的代码?
--  作者:fubblyc
--  发布时间:2019/10/30 9:56:00
--  
老师,这句:
Sheet(0,0).Formula = Sheet(0,0).Formula.replace("sheet1","sheet2")

我要吧aa工作簿引用的bb工作簿的sheet1 改成 shee2 ,用替代的方式
[此贴子已经被作者于2019/10/30 9:56:22编辑过]

--  作者:有点蓝
--  发布时间:2019/10/30 9:58:00
--  
还是用vba吧

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("E:\\问题\\aa.xlsx")
Wb.WorkSheets(1).name = "hhh"
Output.Show(Wb.WorkSheets(1).range("A1").Value )
Output.Show(Wb.WorkSheets(1).range("A1").Formula )
Wb.WorkSheets(1).range("A1").Formula = Wb.WorkSheets(1).range("A1").Formula.replace("Sheet1","Sheet2")
Wb.SaveAs("E:\\问题\\aa3.xlsx")
Wb.close
App.Quit

--  作者:fubblyc
--  发布时间:2019/10/30 10:28:00
--  
老师,这个就一直卡在替换这里

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191030102758.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/10/30 10:34:00
--  
有啥问题?替换后msgbox一下
--  作者:fubblyc
--  发布时间:2019/10/30 10:37:00
--  
Wb.WorkSheets("天津").range("C4").Formula = Wb.WorkSheets("天津").range("C4").Formula.replace(day1,day2)
卡在这句,动不了
后面这些就没有弹出来了
Output.Show(Wb.WorkSheets("天津").range("C4").Value )
Output.Show(Wb.WorkSheets("天津").range("C4").Formula )

--  作者:有点蓝
--  发布时间:2019/10/30 10:51:00
--  
dim s as string = Wb.WorkSheets("天津").range("C4").Formula
s = s.replace(day1,day2)
msgbox(s)
Wb.WorkSheets("天津").range("C4").Formula = s

退出所有execl进程再测试


--  作者:fubblyc
--  发布时间:2019/10/30 11:15:00
--  
这样就可以了。谢谢蓝老师!!!