Conversione di una stringa di testo che collega due fogli in una formula di lavoro
-
21-12-2019 - |
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
. 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ò!