首页 > 解决方案 > VBA - 如何在“文件名”中参考其他打开的工作簿的“单元格值”来“另存为”

问题描述

需要帮助创建 VBA 代码以参考“文件名”中其他打开的工作簿的“单元格值”来执行“另存为”。

标签: excelvba

解决方案


不确定您是否真的要保持数据文件打开,如果没有,您可以使用 ExecuteExcel4Macro 方法:

monthname = ExecuteExcel4Macro("'C:\FolderPath\[Data.xlsx]Sheet1'!" & _
            Range("A1").Address(, , xlR1C1))

这是我的功能:

'### The xl file can be closed or open ###
Function getValueInWB( _
                        folderPath As String, _
                        fileName As String, _
                        shName As String, _
                        rAdd As String _
                        )

    Dim str As String

    str = "'" & folderPath & _
            "[" & fileName & "]" & _
            shName & "'!" & _
            Range(rAdd).Address(, , xlR1C1)

    getValueInWB = ExecuteExcel4Macro(str)

End Function

测试功能:

Function testPrintValue()

    folderPath = "C:\FolderPath\"
    fileName = "Data.xlsx"
    shName = "Sheet1"
    rAdd = "A1"

    getValueInWB folderPath , fileName, shName, rAdd

End Function

推荐阅读