Référencez une feuille Excel à partir d'un autre classur sans copyr la feuille

Je me request s'il est possible de faire reference à une feuille excel d'un autre livre de travail sans en faire une copy?

La situation: j'ai des feuilles de travail très importantes remplies de données diverses, mais je ne veux pas en garder une copy dans mes classurs car, pendant que chaque classur utilise la même source de données, il est légèrement différent.

J'ai une routine vba qui prend ces données et crée des files d'input pour d'autres codes, vba s'attend à ce que ces données soient disponibles sur les noms de feuilles définis.

Est-il possible de faire Excel ou vba pour savoir que lorsque je request une feuille de calcul ("Example_1"), à la place, je sais que je veux dire example_1 à partir d'un classur différent?

Merci

Oui c'est possible.

Vous devez append ces lignes à votre code:

Dim wkb As Excel.Workbook Dim wks As Excel.Worksheet Set wkb = Excel.Workbooks("name_of_workbook.xlsx") Set wks = wkb.Worksheets("Example_1") 

Maintenant, chaque fois que vous souhaitez vous référer à une gamme de cet autre classur, vous devez append des wks. avant, c'est-à-dire:

 'Printing value in cell. wks.Range("A1") = "x" 'Selecting range. call wks.Range(wks.Cells(1,1), wks.Cells(2,2)).Select 
 =SUM('C:\test\[test.xlsx]sheet_name'!A1:A25) 

est un exemple d'une formule qui fait reference à sheet sheet_name dans le classur C:\test\text.xlsx .

Notez que lorsque l'autre classur est ouvert, la formule passe automatiquement à

 =SUM([test.xlsx]sheet_name!A1:A25) 

et alors, lorsqu'il est fermé, la formule va changer.