Aufrufen einer Funktion aus einer anderen Arbeitsmappe

Aufrufen einer Funktion aus einer anderen Arbeitsmappe

Ich habe einen Haufen Daten in einem Arbeitsblatt, die ich basierend auf Werten in mehreren Spalten in einzelnen Arbeitsmappen speichern möchte. Mein Ansatz (ob gut oder schlecht!) besteht darin, das relevante Arbeitsblatt (und die Makros) in eine neue Arbeitsmappe zu kopieren, sie unter einem geeigneten Namen (sagen wir „temp.xlsx“) zu speichern und dann die Daten in dieser neuen Arbeitsmappe zu bereinigen, indem ich irrelevante Zeilen lösche (Funktion namens „deleteInfo“). Dies alles muss gemäß der Unternehmensrichtlinie erfolgen, ohne die ursprüngliche Arbeitsmappe zu ändern.

Ich kann das Material problemlos kopieren, habe dann aber erhebliche Probleme beim Aufrufen von Makros in der neuen Arbeitsmappe.

Ich habe versucht:

Application.Run "'temp.xlsx'!deleteInfo"

ActiveWorkbook.Application.Run deleteInfo

Application.Run ("'C:\user\.....\temp.xlsx'!deleteInfo") 

Aber nichts hat funktioniert.

Jede Hilfe wird sehr geschätzt.

Antwort1

Ich glaube, Sie haben das Problem zu kompliziert gemacht, indem Sie versucht haben, die Bereinigung auszuführen, nachdem die Daten die Datei mit Ihrem VBA-Code verlassen haben.

Sie können das Blatt duplizierenin der Quelldatei, nehmen Sie Korrekturen am Duplikat vor und verschieben Sie das Duplikat nach der Bereinigung in Ihre neue Arbeitsmappe.

verwandte Informationen