首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA在单元格中输入的公式为1004

VBA在单元格中输入的公式为1004
EN

Stack Overflow用户
提问于 2014-02-05 22:37:24
回答 1查看 278关注 0票数 2

我使用代码从Outlook.msg文件中填充带有字段值(例如主题、发送方等)的Excel表。Outlook.msg文件与Excel文件位于同一个文件夹中。

如果我可以在这个Excel文件中建立到这些消息的超链接,那就很方便了。我希望超链接是“动态的”,如果我将整个文件夹(带有Outlook.msg文件和Excel工作簿)移动到其他位置,则链接仍然工作。

我使用这段代码创建“动态”超链接:超链接字符串= "=HYPERLINK(MID(CELL(""filename"");1;FIND(""["";CELL(""filename""))-1))“& sName

其中sName是Outlook.msg文件名,然后在循环中填充单元格

工作表(“sheetname”).Cells(行,列).Formula=超链接字符串

这给了我1004运行时错误。当我在“=”符号(MID等)前面加上一个空间时,代码运行良好,单元格被填充,当我手动删除空间时,超链接就像一种魅力。为什么这不能直接工作,还有其他的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-05 22:39:55

在使用.Formula时,您需要在公式中使用逗号,代替分号; (即使本地分隔符是分号):

代码语言:javascript
复制
Hyperlinkstring = "=HYPERLINK(MID(CELL(""filename""),1,FIND(""["",CELL(""filename""))-1))" & sName
Worksheet("sheetname").Cells(Row, Column).Formula = Hyperlinkstring

或者是,您可以使用.FormulaLocal而不是.Formula。在这种情况下,您应该在公式(即分号;)中使用本地分隔符:

代码语言:javascript
复制
Hyperlinkstring = "=HYPERLINK(MID(CELL(""filename"");1;FIND(""["";CELL(""filename""))-1))" & sName
Worksheet("sheetname").Cells(Row, Column).FormulaLocal = Hyperlinkstring
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21590093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档