Domanda

Sto cercando di convertire una stringa di testo in una formula, ma la mia stringa di testo è un po 'insolita perché descrive un collegamento tra due fogli di lavoro.Ecco la formula iniziale:

+TEXT("+'X:\Deals\ONE-PAGERS\_One-pagers (vM)\["&TRIM(LEFT(SUBSTITUTE($B9," ",REPT(" ",30)),64))&" vM.xlsx]Metrics'!$D$8",1)
.

Ho creato questa formula per evitare di dover collegare manualmente un gran numero di fogli di calcolo.Cattura le prime due parole di una cella, e le posiziona in una stringa di testo che stabilirebbe un collegamento, se fosse una formula.In questo modo, posso semplicemente inserire un nome di società nella cella B9, e questa formula produrrà una stringa di testo che descrive il link che voglio.Ecco l'uscita della formula:

+'X:\Deals\ONE-PAGERS\_One-pagers (vM)\[xxx vM.xlsx]Metrics'!$D$8
.

Come puoi vedere, se questa fosse una formula, genererebbe un collegamento, sarebbe restituire il valore in Cell D8 del foglio di lavoro xxx.Ho provato la soluzione alternativa valutando (vista sotto) e la funzione indiretta e non sembrano funzionare.Fammi sapere se questo non ha senso e grazie così tanto in anticipo per il tuo aiuto!

Function EvalCell(RefCell As String)
Application.Volatile
EvalCell = Evaluate(RefCell)
End Function
.

È stato utile?

Soluzione

Valutare e indirettamente richiederebbe entrambi la cartella di lavoro di origine di essere aperta, ma è possibile utilizzare ExeseeEexcel4Macro:

Function EvalCell(RefCell As String)
Application.Volatile True
application.ExecuteExcel4Macro(application.convertformula(mid$(RefCell, 2), xlA1, xlr1c1))
End Function
.

Eviterei di usare troppe di queste funzioni però!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top