Escape-символы формулы Excel - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть формула ниже, которая работает в Excel, в ячейке.

="D"&AC2 & REPT(" ",12 - LEN(AC2))&REPT(" ", 20)&T2&REPT(" ", 3 - LEN(T2))&AD2&REPT(" ", 2 - LEN(AD2))&REPT(" ",12)

Я пытался перевести это на VBA, Для буквы D и всех пробелов " " Я использовал escape-символы(я думал, это экранирующие символы) """" """", но я не смог заставить его работать.

Вот формула, которую я пробовал в VBA

"= """"D""""&AC2 & REPT("""" """" ,12 - LEN(AC2))&REPT("""" """", 20)&T2&REPT("""" """" , 3 - LEN(T2))&AD2&REPT("""" """" , 2 - LEN(AD2))&REPT("""" """" ,12)"

Любая помощь приветствуется. Спасибо

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Довольно простой способ его реализации в VBA, как показано ниже.

Шаг 1: Скопируйте формулу, как в окне VBE

="D"&AC2 & REPT(" ",12 - LEN(AC2))&REPT(" ", 20)&T2&REPT(" ", 3 - LEN(T2))&AD2&REPT(" ", 2 - LEN(AD2))&REPT(" ",12)

Шаг 2: Выделите текст формулы, а затем для выбранного текста выполните НАЙТИ и ЗАМЕНИТЬ

НАЙТИ: "

ЗАМЕНА:" "

=""D""&AC2 & REPT("" "",12 - LEN(AC2))&REPT("" "", 20)&T2&REPT("" "", 3 - LEN(T2))&AD2&REPT("" "", 2 - LEN(AD2))&REPT("" "",12)

Шаг 3: Оберните результат парой кавычек.

"=""D""&AC2 & REPT("" "",12 - LEN(AC2))&REPT("" "", 20)&T2&REPT("" "", 3 - LEN(T2))&AD2&REPT("" "", 2 - LEN(AD2))&REPT("" "",12)"

Примечание: Если у вас есть «;» в качестве разделителя аргументов, вам нужно взглянуть на FormulaLocal, и если вы решите использовать Formula, тогда «;» будет заменено на «,».

1 голос
/ 06 ноября 2019

В VBA вам понадобятся кавычки вокруг кавычки из формулы " -> """

Таким образом, пробел будет "" "", а строка в кавычках ""D""

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...