Ich arbeite durch einen Excel-VBA-Makro, der durch ein Blatt iteriert und dynamische Formeln in bestimmte Zellen einfügt. Die Formel bleibt unverändert, muss jedoch auf eine externe Arbeitsmappe verweisen, die sich häufig ändert.VBA in Excel - Übergeben der externen Arbeitsmappe an die Arbeitsblattfunktion
Am Anfang von meinem Sub, frage ich nach Benutzereingabe, wo der Benutzer die Datei auswählt. Ich öffne diese Datei und benutze sie dann. Das funktioniert ganz gut, aber ich kann nicht herausfinden, wie man dieses Arbeitsbuch in einer Formel richtig referenziert.
Mein Code, abgespeckte nur auf die Linien in Frage:
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
Ich denke, die Frage ist, wie ich diese Formel bin Umgang und in der Arbeitsmappe vorbei, aber ich bin mir nicht sicher, was ich m falsch machen.
Hilfe geschätzt!
'POI_inputfile' als Variable im Vergleich zu' poi_importfile' in Ihrer Formel. Verwenden von [OptionExplicit] (https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/3554/always-use-option-explicit#t=201706121825028747477) am Anfang jedes Moduls und kompilieren Code wird Hilfe bei diesen Problemen. –
Ersetzen Sie 'poi_importfile' durch' po_items.Name'. –