2015-09-05 101 views
-2

我是新來的VBA和我需要幫助與以下:匯入動態範圍從一個Excel工作簿到另一個Excel工作簿

我有3個Excel工作簿(WB1,WB2和WB3)。 wb1和wb2都包含列A(日期)和列B(數字)。在每月的基礎上,新的數據被添加到這兩列。 wb1和wb2存儲在同一個文件夾中。

在wb3中,我根據wb1或wb2的數據執行計算。因此,我需要在wb3的下拉列表中選擇相應的工作簿(wb1或wb2)。我選擇的動態數據範圍應該被複制到wb3中。

回答

0

的設立

兩個工作簿保存在工作簿.XLSM一個文件夾

enter image description here

數據驗證英寸

enter image description here

關閉的.xlsx工作簿,運行代碼之前。該代碼將打開並關閉選定的工作簿。

選擇工作簿,然後單擊按鈕

enter image description here

Sub Button3_Click() 
    Dim wb As Workbook 
    Dim ws As Worksheet 
    Dim lstRw As Long 
    Dim rng As Range 
    Dim GetRng As String 
    Dim MyDir As String 
    Dim MyFile As String 

    Set wb = ThisWorkbook 
    Set ws = wb.Sheets("Sheet1") 
    GetRng = ws.Range("A2") 

    MyDir = "C:\Users\Dave\Downloads\SampleFolder\" 'change folder location" 
    MyFile = Dir(MyDir & GetRng & "*.xlsx") 
    ChDir MyDir 

    Application.ScreenUpdating = 0 
    Application.DisplayAlerts = 0 

    Workbooks.Open (MyFile) 

    With Worksheets("Sheet1") 

     lstRw = .Cells(Rows.Count, "A").End(xlUp).Row 
     Set rng = Range(.Cells(2, 1), .Cells(lstRw, 2)) 
     rng.Copy ws.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) 
     ActiveWorkbook.Close True 

    End With 

    Application.DisplayAlerts = 1 
    MyFile = Dir() 


End Sub 
相關問題