我是VBA的新手,我需要以下方面的帮助:
我有3个Excel工作簿(wb1,wb2和wb3)。 wb1和wb2都包含A列(日期)和B列(数字)。每月,新数据将添加到两列。 wb1和wb2存储在同一个文件夹中。
在wb3中,我根据wb1或wb2的数据执行计算。因此,我需要在wb3的下拉列表中选择相应的工作簿(wb1或wb2)。然后我的选择的动态数据范围应该被复制到wb3。
答案 0 :(得分:1)
设置
保存在文件夹中的两个工作簿
.xlsm工作簿上的数据验证。
在运行代码之前关闭.xlsx工作簿。代码将打开和关闭所选的工作簿。
选择工作簿,然后点击按钮
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