Excel VBA:公式没有正确inputstring

我试图完成一个脚本,将允许用户select另一个excel文件,当单元格被双击,然后该excel文件被用来放入一个公式到主excel文件。

我无法单独使用单元格值,因为在脚本完成时能够在配方栏中看到文件path。 所以问题是input的公式不匹配它应该从中拉的string文本。

为了澄清,我使用的称为FormulaPath的string最后是一个以“ ...\00975-006-00[00975-006-00.xls]QuoteDetails'! “为结尾的公式,这将是正确的公式。

但是当我用这个公式input一个范围时:

 Range("A1").Formula = "=" & FormulaPath & "$C$100" 

实际公式最后input为"...[00975-006-00[00975-006-00.xls]Quote Details]00975-006-00[00975-006-00.xls]Q'!$C$100

注意重复?

我现在在移动,所以如果格式是古怪的,请原谅我。 下面的完整脚本。 谢谢!

 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim ImportWB, QuoteWB As Workbook Dim AdInsWS, AdInsCostWS As Worksheet Dim ImportPathName As Variant Dim FormulaPath As String Set QuoteWB = ThisWorkbook Set AdInsWS = QuoteWB.Sheets("Ad-Ins") Set AdInsCostWS = QuoteWB.Sheets("Ad-ins cost") If Not Intersect(Target, Range("B:B")) Is Nothing Then 'set default directory ChDrive "Y:" ChDir "Y:\Engineering Management\Manufacturing Sheet Metal\Quotes" 'open workbook selection ImportPathName = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls*), *.xls*", Title:="Please select a file") If ImportPathName = False Then 'if no workbook selected MsgBox "No file selected." ElseIf ImportPathName = ThisWorkbook.Path & "\" & ThisWorkbook.Name Then 'if quote builder workbook selected MsgBox "Current quote workbook selected, cannot open." Else Application.DisplayAlerts = False Application.ScreenUpdating = False Workbooks.Open Filename:=ImportPathName, UpdateLinks:=False Set ImportWB = ActiveWorkbook FormulaPath = "'" & ImportWB.Path & "[" & ImportWB.Name & "]Quote Details'!" AdInsCostWS.Range("B3").Formula = "=" & FormulaPath & "$C$100" ImportWB.Close End If Cancel = True Application.DisplayAlerts = True Application.ScreenUpdating = True End If End Sub 

我通过简单地向FormulaPathstring添加一个反斜杠来让脚本工作:

 FormulaPath = "'" & ImportWB.Path & "\[" & ImportWB.Name & "]Quote Details'!" 

ImportWB.Path正在导入带有excel名称的Path,分割pathstring