Я пытаюсь изменить каждую кавычку (") в A1 на (-), а затем распечатать результат в B1.
Sub ReplaceQuotes()
Dim inputText As String
Dim outputText As String
inputText = Range("A1").Value
outputText = Replace(inputText, """", "-")
Range("B1").Value = outputText
End Sub
Пример текста:
Популярная пословица гласит: «Общество становится великим, когда старики сажают деревья, в тени которых они никогда не сядут». Когда мы избавляемся радиоактивные отходы, мы не говорим: «Какая разница, если это отравляет людей?» через столетия?» Точно так же немногие из нас, кто заботится о климате изменения или загрязнение окружающей среды делают это исключительно ради людей, живущих сегодня.
Результат был тот же. Ничего не изменилось.
Пробовал Chr(43) вместо """".
Другие символы, такие как «А», работают.
Это работает для меня. Может быть, есть что-то с обработаннымTextC
Возможно, моего объяснения было недостаточно. Поэтому немного изменил вопрос.
Не уверен, что это полная проблема, но в образце цитаты не используются прямые кавычки chr(34), а используются chr(147) и chr(148).
Chr(147) и Chr(148) тоже не работали. :'(
Переберите каждый символ строки и посмотрите, что такое символ и его значение ascii. В данном примере он работает так, как задумано для меня.


Это может не иметь смысла, но Excel не распознает двойные кавычки в вашем предложении как настоящие двойные кавычки. В большинстве случаев, когда вы копируете элементы из других источников и вставляете их, Excel не воспринимает их как те традиционные символы, которые называются непечатаемыми символами. Поэтому я просто скопировал одну из цитат из предложения и поместил ее прямо в VBA.
Sub ReplaceQuotes()
Dim inputText As String
Dim outputText As String
inputText = Range("A1").Value
outputText = Replace(inputText, "“", "-")
Range("B1").Value = outputText
End Sub
Вы заметите разницу в коде, который я разместил. Кавычки и то, что в предложении, не совпадают.
ChrW(8221) решил проблему. Но спасибо за ваше объяснение.
Excel не виноват, что он не распознает "(U+0022) как “ (U+201C), это потому, что это разные символы. Никаких «непечатаемых персонажей» в игре тоже нет.
Помогло бы предоставить образец типа текста, с которым вы имеете дело. Возможно, «кавычки» в вашем тексте — это не Chr(34), а какие-то другие символы?