VBA-从通过getopenfilename打开的工作簿数组中提取工作簿名称

问题描述

嘿,我有下面的代码。我希望能够通过application.getopenfilename打开多个工作簿,然后提取相应的书名以将它们与列表进行比较。

我不为什么,但是每当我尝试提取工作簿名称时,都会弹出“需要对象”错误在这种情况下,我使用dir,但是如果我使用name或path,则结果是名称,如果我尝试使用Filenales(i)而不是活动工作簿,则会弹出相同的错误消息。有人可以帮助我还是向我解释实际情况?预先谢谢你,

Sub importDealflow()
    Dim twb As Workbook,aWB As Workbook
    Dim Userrange As Range,cell As Range
    Dim Defaultrange As Range
    Dim x As Long,Ent As Variant
    Dim FileNames() As Variant,nw As Integer
    Dim i As Integer
    Dim FN As String,pth() As Variant
    Dim Getbook As String
    
    Set twb = ThisWorkbook
    Set Userrange = twb.Sheets("Deal Workflow").Range("G5:G28")
    
    FileNames = Application.GetopenFilename(FileFilter:="Excel Filter(*.xlsx),*xlsx",Title:="Open File(s)",MultiSelect:=True)
    nw = UBound(FileNames)
    
    For Each cell In Userrange
        If cell.Value <> "" Then
            Ent = Mid(cell,InStr(cell,"(") + 1,")") - InStr(cell,"(") - 1)
        End If
            
        For i = 1 To nw
            Workbooks.Open FileNames(i)
            Set aWB = ActiveWorkbook
            Set Getbook = Dir(ActiveWorkbook)
            If Left(pth,InStr(pth(i),"-" - 1)) = Ent Then
                MsgBox Ent
            End If
        Next i
    Next
End Sub

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)