【发布时间】:2016-06-23 12:37:47
【问题描述】:
我是 VBA 新手。我有两张纸,即 sheet1 有输入目录和输出目录的路径。 在 sheet2 上,我开始编写代码。我想从存储在文件夹中的多个 xls 文件中读取数据。此文件夹路径在 sheet1 中指定。我想将所有 xls 文件中的所有文件头复制到列中的 sheet3 中。 我的代码运行良好,但我直接给出了文件路径,但我想从其他工作表中获取它。请帮我。下面是我的代码,我附上了 sheet1.
Public Sub CommandButton1_Click()
'DECLARE AND SET VARIABLES
Dim wbk As Workbook
Dim Filename As String
Dim Path As String
Dim mainwb As Workbook
Dim ws As Worksheet
Dim search_result As Range 'range search result
Dim blank_cell As Long
Dim wb As Workbook
Path = "D:\Testing\Data\Input\"
Filename = Dir(Path & "*.xls")
'--------------------------------------------
'OPEN EXCEL FILES
Do While Len(Filename) > 0 'IF NEXT FILE EXISTS THEN
Set wbk = Workbooks.Open(Path & Filename)
'MySheet = Application.Caller.Worksheet.Name
'Set sh = MySheet()
'Variable = ActiveSheet.Name
' Sheets(Variable).Range("A1:D1").Copy
'Sheets("Sheet2").Column(B2).Select.Activate.Paste
' Sheets("Sheet2").Active
'Columns("B2").Select
Set wbk = ActiveWorkbook
Variable = ActiveSheet.Name
wbk.Sheets(Variable).Rows(1).EntireRow.Copy
Workbooks("Tool.xlsm").Activate
' Workbooks("DFT Tool.xlsm").Sheets("Sheet2").Activate
'ActiveWorkbook.ActiveSheet
'Sheets("Sheet2").Activate
'ActiveSheet.Columns("E").Select
' Range("E1").End(xlDown).Offset(1, 0).Select
'ActiveSheet.Paste
Set wb = ActiveWorkbook
Set ws = wb.Sheets("Sheet2")
For Each cell In ws.Columns(3).Cells
If IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
' Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
wbk.Close savechanges:=False
Filename = Dir
Loop
End Sub
提前致谢
【问题讨论】: