【问题标题】:How to get file path from different sheet in VBA如何从 VBA 中的不同工作表获取文件路径
【发布时间】: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

提前致谢

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    试试

    Path = Cells(2,2).value
    

    这将获取单元格 B2 的值并将其存储在 Path 变量中。 另一种可能性:

    Filename = Dir(Cells(2,2).value & "*.xls")
    

    【讨论】:

    • Application.Workbooks("Your_Workbook").Worksheets("Your_Sheet").Cells(2, 2)
    • 感谢您的回答....现在代码运行良好。但问题是当第一个文件被打开并将数据成功复制到 sheet2 时。但打开的文件不会自动关闭,它会弹出“隐私警告:此文档包含宏、ActivX 控件、XML 扩展包信息......”然后我需要点击是然后它进入循环。如何避免这种情况
    • 第一个谷歌链接 ;) mrexcel.com/forum/excel-questions/…
    猜你喜欢
    • 1970-01-01
    • 2011-02-18
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多