簡體   English   中英

從另一個具有動態文件路徑位置的工作簿中運行excel宏

[英]Running excel macro from another workbook with dynamic File path location

因此,我在Worksheet1中有一個宏,它可以打開另一個文件(Worksheet2),然后復制並粘貼特定的單元格並將其從Worksheet1傳輸到Worksheet2。

一旦完成工作表1的宏,將單元格從工作表1復制粘貼到工作表2,來自工作表1的相同宏將觸發另一個宏(嵌入在工作表2中)運行。

我有從打開Worksheet2到從工作表1復制數據並將其粘貼到工作表2的代碼,唯一的問題是工作表1中的宏觸發運行在工作表2中嵌入的宏。

Sub FCY()
'
' Macro3 Macro
'

    Dim MainFile As Workbook
    Dim jnl As Workbook
    Dim RF As Workbook
    Dim FileExt As String

    Set MainFile = ActiveWorkbook

    'FileExt - Cells where is Worksheet2 being saved (example: Worksheet2.xls)
    FileExt = Sheets("REF Data").Cells(25, 7).Value & "." & Cells(25, 9).Value

    'Set jnl - a command to open the Worksheet2 by using the "FileExt" plus the File Location
    'which is entered in Cells (22,7) or Range("G22") (example - C:\Documents\Worksheet2.xls)
    Set jnl = Workbooks.Open(Worksheets("REF Data").Cells(22, 7).Value & "\" & FileExt)

    'Selecting the specified cells to copy and paste from Worksheet1 to Worksheet2
    MainFile.Activate
    Sheets("FCY").Select
    Range("B11:BJ11").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    jnl.Activate
    Range("B11:BJ11").Select
    ActiveCell.PasteSpecial xlPasteValues


    'Command which runs another Macro embedded in Worksheet2
    'Incorrect code to run the macro in Worksheet2
    Application.Run (Worksheets("REF Data").Cells(22, 7).Value & "\" & FileExt & SaveAstab)

'
End Sub

我已經知道可以使用以下代碼來實現:

Application.Run ("'C:\Documents\Worksheet2.xls'!SaveAstab") 

注意: SaveAstab是Worksheet2中宏的名稱。

但是,如果您在上面注意到用戶在特定單元格上輸入了文件位置+文件名+擴展名。 我的意思是,文件位置+文件名+擴展名的詳細信息是動態的,由用戶輸入。

我的問題是,如果我調用為文件位置+文件名+擴展名分配的單元格,則出現錯誤(運行時錯誤9)。

‘Incorrect code to run the macro in Worksheet2
Application.Run (Worksheets("REF Data").Cells(22, 7).Value & "\" & FileExt & SaveAstab)

誰能在這件事上分享自己的專業知識? 非常感謝你

試試看...

Dim runCommand as String
runCommand = Chr(39) & Worksheets("REF Data").Cells(22, 7).Value & "\" & FileExt & Chr(39) & "!SaveAstab" 
Debug.print runCommand 
Application.Run(runCommand)

並給我輸出uf debug.print

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM