Eu tenho uma fórmula que quero gerar no VBA e colocar em uma célula. A fórmula final é:
=IF(ISNA(MATCH(B6670,ProcMIRs!B1:B235,0)),"","Found in ProcMIRs row " & MATCH(B6670,ProcMIRs!B1:B235,0))
e quando eu digito isso em uma célula, funciona bem, retornando a mensagem ou nada.
No VBA, tenho:
rToMIRs.Offset(0, 18).Formula = "=IF(ISNA(MATCH(RC[-17],ProcMIRs!B1:B" & Sheets("ProcMIRs").Range("B1048576").End(xlUp).Row & ",0)),"""",""Found in ProcMIRs row "" & MATCH(RC[-17],ProcMIRs!B1:B" & Sheets("ProcMIRs").Range("B1048576").End(xlUp).Row & ",0))"
Quando eu coloco a string na janela imediata, é exatamente o que eu quero, mas quando eu a atribuo à planilha, fico:
=IF(ISNA(MATCH(B6673,ProcMIRs!'B1':'B235',0)),"","Found in ProcMIRs row " & MATCH(B6673,ProcMIRs!'B1':'B235',0))
Então, o que diabos está inserindo as aspas simples em torno do intervalo B1:B235
na referência da folha ProcMIRs? Se eu deletá-los na célula, a fórmula funciona normalmente, é claro. Eu passei os últimos 30 minutos tentando coisas como atribuí-lo a uma variável de string primeiro, etc. sem sorte.
Qualquer ideia seria apreciada.