【问题标题】:Excel VBA Folder Path from Cell to import data从单元格导入数据的 Excel VBA 文件夹路径
【发布时间】:2018-03-13 22:24:02
【问题描述】:

我有一个宏,可以从选定的电子表格中提取数据。我最初设置的方式是在当前文件路径位置打开。然后,用户将选择从哪个文件复制数据,其余的由 vba 完成。我想更改的是文件路径在单元格中输入,然后打开的位置将是该文件路径。以下是我当前的代码:

With Workbooks.Open(Application.GetOpenFilename)
Sheets(1).Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(2).Activate
Range("G24").Select
ActiveSheet.Paste
.Close False
End With

我有这样的东西,它根据单元格中的文件路径打开。但我似乎无法弄清楚如何更改上面的脚本

M = Sheets("Meter Data").Range("N12")
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = M
.Show
End With

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您需要获取对FileDialog 的调用结果并将其传递到您的打开/复制/关闭代码中。

    您还应该避免所有那些Select 并处理一些异常,例如这样

    Sub Demo()
        Dim wb As Workbook
        Dim rng As Range
        Dim wsCurrent As Worksheet
        Dim DefaultFile As String
    
        Set wsCurrent = ActiveSheet
        DefaultFile = ActiveWorkbook.Worksheets("Meter Data").Range("N12")
        If Dir(DefaultFile) = vbNullString Then
            MsgBox DefaultFile & vbNewLine & "does not exist." & vbNewLine & "What Now?"
        Else
            With Application.FileDialog(msoFileDialogOpen)
                .AllowMultiSelect = False
                .InitialFileName = DefaultFile
                .Show
                If .SelectedItems.Count > 0 Then
                    Set wb = Workbooks.Open(.SelectedItems(1))
                    With wb.Sheets(1)
                        Set rng = .Range(.Range("A1").End(xlToRight), .Range("A1").End(xlDown))
                        rng.Copy wsCurrent.Range("G24")
                        wb.Close False
                    End With
                End If
            End With
        End If
    End Sub
    

    【讨论】:

    • 谢谢,效果很好。只需确保在文件夹路径的末尾留下一个反斜杠 () 否则它不会注册路径。也感谢您优化我的代码。
    猜你喜欢
    • 1970-01-01
    • 2023-01-19
    • 2018-04-20
    • 2022-01-04
    • 2016-11-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2018-11-14
    相关资源
    最近更新 更多