VBA-Excel文件无法使用.close方法关闭

时间:2018-10-09 10:34:03

标签: excel vba excel-vba excel-2016

我已经创建了一个使用源excel文件的UDF,并将数据作为UDF结果而保留。

但是,即使我在下面的'with'-代码中使用.close方法,源文件也不会关闭。

在使用源文件后关闭它的任何帮助都非常有用,非常感谢!

League \ OAuth2 \ Client \ Provider \ Exception \ IdentityProviderException (400) UnsupportedContentTypeheader.

1 个答案:

答案 0 :(得分:0)

如上面的评论中所述,您可以在另一个实例中打开文件(在同一实例中,您的UDF公式调用将不起作用)

 Set objExcel = CreateObject("Excel.Application")
     With objExcel
            .Visible = False
            .DisplayAlerts = False
            With .Workbooks.Open(sfilename)
                range1 = .Sheets(2).Range("A:B")
                If IsError(Application.VLookup(lookupval, range1, 2, False)) Then
                    If IsError(Application.VLookup(lookupval2, range1, 2, False)) Then
                        MsgBox "Pair or date does not exist!" 'do not use msgbox but give getex a string => getex = "error"
                    Else
                        getex = 1 / Application.VLookup(lookupval2, range1, 2, False)
                    End If
                 Else
                        getex = Application.VLookup(lookupval, range1, 2, False)
                End If
            .Close
        End With
        .Quit
    End With

另一种可能性是将UDF的结果放在表单中的Sub位置(我会这样做)