2017-08-04 132 views
0

我想打開和關閉饋線文件,從它們複製數據並粘貼到合併文件中的文件中。我希望合併文件中的VBA代碼和模塊在運行代碼後保持打開狀態。希望這是明確的,如果不是我可以嘗試更具體。試圖打開和關閉工作簿

該文件上還有一個密碼,這個例子的密碼是Marrin18,我一直沒有打開它,所以我沒有編碼用密碼打開它需要什麼。

Sub consolDirectors() 

ExcelApplication.Open.Workbooks ("2018 Budget PL_HC_CAP - MarrinV1.xlsx") 
Workbooks("2018 Budget PL_HC_CAP - MarrinV1").Worksheets("Summary").Range("A1:AH227").Copy 
Workbooks("2018 Budget PL_HC_CAP - Total 802").Worksheets("Marrin").Range("A1:AH227").PasteSpecial xlPasteValues 
Workbooks("2018 Budget PL_HC_CAP - MarrinV1").Close 

End Sub 
+0

你的句子沒有任何意義。不要讓事情變得複雜,試着簡化它們。只關注你的問題並提出問題。 – Tehscript

+0

我試圖更新語言以使其更清楚嗎? –

+0

並且您是否想在關閉數據所在工作簿後打開並關閉饋線文件?這是你的問題嗎? – Tehscript

回答

0
Sub consolDirectors() 
    Const FPATH As String = "T:\Planning\FY Budget\2018 Budget\" & _ 
          "Director Templates\With updates\" 
    Const RNG_COPY As String = "A1:AH227" 
    Dim wb As Workbook 

    'you should use the full path here.... 
    Set wb = Workbooks.Open(_ 
      FileName:= FPATH & "2018 Budget PL_HC_CAP - MarrinV1.xlsx", _ 
      Password:= "passHere") 

    'add the file extension here - I'm guessing "xlsx" ? 
    Workbooks("2018 Budget PL_HC_CAP - Total 802.xlsx" _ 
     ).Worksheets("Marrin").Range(RNG_COPY).Value = 
     wb.Worksheets("Summary").Range(RNG_COPY).Value 

    'If this file is the one with the macro you can use ThisWorkbook instead 
    'ThisWorkbook.Worksheets("Marrin").Range(RNG_COPY).Value = _ 
    '   wb.Worksheets("Summary").Range(RNG_COPY).Value 

    wb.Close False 

End Sub 
+0

我的文件位於共享驅動器上,文件路徑爲T:\ Planning \ FY Budget \ 2018 Budget \ Director Templates \ With updates。我有代碼這個子consolDirectors() 昏暗wb 設置wb = Workbooks.Open(T:\ Planning \ FY Budget \ 2018 Budget \ Director Templates \ With更新,但我得到運行時錯誤的語法,你可以更多具體是你在暗示我的代碼,我不明白你的評論相關的代碼,我很新 –

+0

「得到運行時錯誤的語法」 - 什麼是錯誤*消息*? –

0

您不必打開工作簿來讀取內容。但是,您需要逐個單元地編寫內容,所以這是不利的一面。如果你確定了5秒宏觀那就是:

Option Explicit 

Sub Fd() 
    Dim FilePath$ 
    Dim i As Long, j As Long 
    Const FileName$ = "2018 Budget PL_HC_CAP - MarrinV1.xlsx" 
    Const SheetName$ = "Summary" 
    FilePath = "C:\mypath\" ' path to feeder file 2018 Budget PL_HC_CAP - MarrinV1.xlsx 

    DoEvents 
    Application.ScreenUpdating = False 
    If Dir(FilePath & FileName) = Empty Then 
     MsgBox "The file " & FileName & " was not found", , "File Doesn't Exist" 
     Exit Sub 
    End If 
    For i = 1 To 227 
     For j = 1 To 34 
      Cells(i, j) = GetData(FilePath, FileName, SheetName, Cells(i, j)) 
     Next j 
    Next i 
    ActiveWindow.DisplayZeros = False 
End Sub 

Private Function GetData(Path, File, Sheet, Rng) 
    Dim Data$ 
    Data = "'" & Path & "[" & File & "]" & Sheet & "'!" & Rng.Address(, , xlR1C1) 
    GetData = ExecuteExcel4Macro(Data) 
End Function 
+0

我收到一條錯誤消息編譯錯誤:在當前範圍內重複聲明 –

+0

@JS Bach也許你有一個叫做「Feed」的子?我把我的子名改成了「Fd」,並且檢查你的GetData是否在其他地方。 – Tehscript

0

@tim威廉姆斯@Tehscript這裏是我結束了使用,不很前進的代碼,但appreicate雙方你

Sub FeedFiles() 
    Workbooks.Open Filename:= "T:\Planning\FY Budget\2018 Budget\Director Templates\With updates\2018 Budget PL_HC_CAP - MarrinV1.xlsx", Password:="Marrin18" 
    Workbooks("2018 Budget PL_HC_CAP - MarrinV1.xlsx").Worksheets("Summary").Activate 
    Workbooks("2018 Budget PL_HC_CAP - MarrinV1.xlsx").Worksheets("Summary").Range("A1:AH227").Copy 
    Workbooks("2018 Budget PL_HC_CAP - Total 802.xlsm").Worksheets("Marrin").Range("A1:AH227").PasteSpecial xlPasteValues 
    Workbooks("2018 Budget PL_HC_CAP - MarrinV1.xlsx").Close 
End Sub 
相關問題