2017-06-12 75 views
0

我正在通过一个Excel VBA宏来遍历工作表并将动态公式放入特定单元格。公式保持不变,但需要引用经常更改的外部工作簿。Excel中的VBA - 将外部工作簿传递到工作表functionfunction.formula

在我的子开始,我要求用户输入用户选择文件的位置。我打开该文件,然后开始使用它。这工作得很好,但我无法弄清楚如何在公式中正确引用该工作簿。

我的代码,有关下调只是行:

MsgBox ("Select the PO items workbook sheet with key in column A.") 
POI_inputfile = Application.GetOpenFilename 
Set po_items = Workbooks.Open(POI_inputfile, False) 
Do Until i = bottom_cell 
    'lookup of MC against PO line item 
    wb_out.Worksheets("Sheet1").Range("c2").Offset(i).Formula = "=VLOOKUP(H" & i + 2 & "&I" & i + 2 & ",'[" & poi_importfile & "]Export'!$A:$E,5,FALSE)" 
     i = i + 1 
Loop 

我认为这个问题是我如何处理这个公式,并通过在工作簿中,但我不知道我做错了。

帮助感谢!

+0

POI_inputfile'作为变量与公式中的'poi_importfile'相对应。在每个模块开始时使用[OptionExplicit](https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/3554/always-use-option-explicit#t=201706121825028747477)并编译代码帮助解决这些问题。 –

+1

用'po_items.Name'替换'poi_importfile'。 –

回答

1

只是为了标记为关闭 - 我原来的问题的两个意见都是正确的,但A.S.H是正确的,我应该使用.Name属性。

相关问题