Otra solución es construir una cadena con un carácter sustituto temporal. Luego puede usar REPLACE para cambiar cada carácter temporal a comillas dobles. Utilizo tilde como carácter sustituto temporal.
Aquí hay un ejemplo de un proyecto en el que he estado trabajando. Esta es una pequeña rutina de utilidad para reparar una fórmula muy complicada si / cuando la celda se pisa accidentalmente. Es una fórmula difícil de ingresar en una celda, pero esta pequeña utilidad la arregla instantáneamente.
Sub RepairFormula()
Dim FormulaString As String
FormulaString = "=MID(CELL(~filename~,$A$1),FIND(~[~,CELL(~filename~,$A$1))+1,FIND(~]~, CELL(~filename~,$A$1))-FIND(~[~,CELL(~filename~,$A$1))-1)"
FormulaString = Replace(FormulaString, Chr(126), Chr(34)) 'this replaces every instance of the tilde with a double quote.
Range("WorkbookFileName").Formula = FormulaString
En realidad, esto es solo un truco de programación simple, pero hace que ingresar la fórmula en su código VBA sea bastante fácil.