VBA - thisworkbook.path

时间:2017-02-13 12:16:39

标签: excel vba excel-vba

我无法弄清楚我的代码有什么问题。

从逻辑角度来看,为什么它不起作用(见下文)?没有错误消息。

相反,在运行代码时,会打开一个文件夹,我可以手动选择文件和选项卡。

打开文件和选项卡时,会进行正确的计算。

但是,我希望宏能为我做到这一点:)

示例代码:

*'define macro name*
Sub macro_additional_indicators()

Dim Path As String

*'define path variable = recent workbook folder*

Path = ThisWorkbook.Path & "\"

*'ignore this*

   Cells.Find(What:="Additional Indicators", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

    ActiveCell.Offset(1, 3).Select

*'here the thisworkbook.path command is used and*

    ActiveCell.Formula = "='Path & [COREP]C 02.00'!$E$19/1000000"

    ActiveCell.Offset(1, 0).Select

*'it should substitute the direct path stated here*

    ActiveCell.Formula = "='C:\Users\me\Desktop\KRI\[COREP]C 02.00'!$E$19/1000000"

2 个答案:

答案 0 :(得分:0)

嗯,我认为您在括号中缺少文件扩展名 在我通过单击单元格

创建的简单示例中查看Excel如何引用文件
='C:\Example\[Source.xlsx]Sheet1'!$F$7

所以这里的鼓励是: =' Path [FilenameWithExtension] Sheetname'!CellAddress

所以我只能猜测它会是:

"='Path & [COREP.xlsm]C 02.00'!$E$19/1000000"

"='Path & [COREP.xlsb]C 02.00'!$E$19/1000000"

希望这有帮助

答案 1 :(得分:0)

感谢您的有益评论!叫我疯了,但没有第二个的Nathan解决方案现在正在运作。它首先导致#REF!然后我去喝咖啡休息时间,当我回来时,关闭所有东西并再次打开它,它有效。由于我不相信魔法,我会对此进行调查,然而,问题已经解决了。谢谢!

这里确实不需要文件扩展名,但我在开头也是这样想的:)