Другой способ - создать строку с временным замещающим символом. Затем вы можете использовать REPLACE, чтобы заменить каждый временный символ на двойные кавычки. Я использую тильду как временный замещающий символ.
Вот пример из проекта, над которым я работал. Это небольшая служебная программа для восстановления очень сложной формулы, если / когда на ячейку случайно наступят. Это сложная формула для ввода в ячейку, но эта небольшая утилита исправляет ее мгновенно.
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
На самом деле это простой трюк программирования, но он позволяет довольно легко вводить формулу в код VBA.