Converter uma Seqüência de caracteres de Texto que une Duas Folhas de trabalho em uma fórmula

StackOverflow https://stackoverflow.com//questions/24019614

Pergunta

Eu estou tentando converter uma seqüência de caracteres de texto em uma fórmula, mas a minha seqüência de caracteres de texto é um pouco incomum, pois descreve um link entre duas folhas de cálculo.Aqui é o início fórmula:

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

Eu criei esta fórmula para evitar ter de ligar manualmente um grande número de folhas de cálculo.Ele captura as duas primeiras palavras de uma célula, e a coloca em uma seqüência de texto que permita estabelecer um link, se fosse uma fórmula.Desta forma, eu posso simplesmente introduza um nome de empresa na célula B9, e essa fórmula irá produzir uma seqüência de caracteres de texto que descreve o link que eu quero.Aqui está a fórmula de saída:

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

Como você pode ver, se isso fosse uma fórmula, seria gerar um link, ele deve retornar o valor em Cell D8 do xxx folha de cálculo.Eu tentei a avaliar solução (visto a seguir), bem como a função indireto e nem parece estar funcionando.Deixe-me saber se isso não faz sentido e muito obrigado antecipadamente por sua ajuda!

Function EvalCell(RefCell As String)
Application.Volatile
EvalCell = Evaluate(RefCell)
End Function
Foi útil?

Solução

Avaliar e INDIRETOS seriam ambos exigem a pasta de trabalho de origem, para ser aberto, mas você pode usar ExecuteExcel4Macro:

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

Eu gostaria de evitar o uso de muitos desses funções embora!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top