Excel vba код символа кавычки

Двойные кавычки и кавычки «ёлочки» в коде VBA Excel. Коды символов кавычек и ввод кавычек «ёлочек» в редакторе VBA Excel с клавиатуры. Примеры.

Двойные кавычки

Двойные прямые кавычки ("Весна") обычно называют просто «двойные кавычки» или «прямые кавычки», так как в текстах они встречаются намного чаще одинарных прямых кавычек ('Весна').

В VBA Excel прямые кавычки являются специальными символами, обозначающими текст:

x = «Магазин Весна открыт»

Переменной x присваивается строка (текст): Магазин Весна открыт.

Если мы хотим отобразить эту строку со словом "Весна" в двойных кавычках, необходимо слово в прямых кавычках экранировать еще одной парой двойных кавычек (""Весна"") или использовать функцию Chr, возвращающую символ по его числовому коду. Числовой код прямых кавычек — 34.

Пример добавления двойных прямых кавычек внутри текста из кода VBA Excel:

Sub Primer1()

Dim x As String

    x = «Магазин ««Весна»» открыт»

    Debug.Print x  ‘Магазин «Весна» открыт

    x = «Магазин « & Chr(34) & «Весна» & Chr(34) & » открыт»

    Debug.Print x  ‘Магазин «Весна» открыт

End Sub

Кавычки «ёлочки»

Двойные кавычки «ёлочки» обычно называют просто кавычки «ёлочки», так как одинарные ‹ёлочки› встречаются очень редко.

Двойные кавычки «ёлочки» не являются спецсимволами, поэтому в строках внутри процедур VBA Excel их можно использовать не только через функцию Chr по числовому коду символа, но и ввести с клавиатуры.

Ввод «ёлочек» с клавиатуры в редакторе VBA Excel осуществляется также с помощью числовых кодов символов открывающей и закрывающей кавычек:

  • числовой код открывающей кавычки («) — 171;
  • числовой код закрывающей кавычки (») — 187.

Сочетания клавиш для ввода «ёлочек» с клавиатуры:

  • Alt+0171 — ввод открывающей кавычки («);
  • Alt+0187 — ввод закрывающей кавычки (»).

Обратите внимание, что для ввода «ёлочек» с клавиатуры используется левая клавиша Alt, а числовой код набирается на цифровом блоке справа.

Пример добавления двойных кавычек «ёлочки» внутри текста из кода VBA Excel:

Sub Primer2()

Dim x As String

    x = «Магазин «Весна» открыт»

    Debug.Print x  ‘Магазин «Весна» открыт

    x = «Магазин « & Chr(171) & «Весна» & Chr(187) & » открыт»

    Debug.Print x  ‘Магазин «Весна» открыт

End Sub


Чтобы в строку VBA записать символ кавычек, приходится использовать код символа кавычек Chr(34) или дублировать символ кавычек. В итоге получается громоздкий код вида

'запись формулы в ячейку Excel
c.FormulaLocal = "=ГИПЕРССЫЛКА(""[C:Книга.xls]"")"
'или
c.FormulaLocal="=ГИПЕРССЫЛКА(" & Chr(34) & "[C:w.xls]" & Chr(34) & ")"

Для заключения строк в кавычки можно использовать функцию

'заключает текст в двойные кавычки (способ 1)
Public Function Quotes(text As String) As String
  Quotes = Chr(34) & text & Chr(34)
End Function
'заключает текст в двойные кавычки (способ 2)
Public Function Quotes(text As String) As String
  Quotes = """" & text & """"
End Function
...
c.FormulaLocal = "=ГИПЕРССЫЛКА(" & Quotes("[C:Книга.xls]") & ")"

Запись опубликована в рубрике программирование с метками VBA. Добавьте в закладки постоянную ссылку.

analyst

437 / 144 / 9

Регистрация: 12.01.2009

Сообщений: 678

Записей в блоге: 1

1

Поставить кавычки (» «)

30.03.2010, 23:19. Показов 52452. Ответов 5

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем добрый день!
Коллеги подскажите пожалуйста как можно в ячейку с помощью VBA поставить кавычки (вот такой знак — «)?
Я только нашёл способ сделать это с помощью функции Chr(34).
Код выглядит так:

Visual Basic
1
cells(1,1)=chr(34)



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

30.03.2010, 23:19

Ответы с готовыми решениями:

Макрос, заключающий в кавычки все слова, заканчивающиеся на «й»
помогите пожалуйста написать программу:)
задание: 1)открыть ms word 2)написать…

Копирование данных в файл.txt добавляет «кавычки»
Коллеги, доброго времени суток.
При копировании в файл.txt ячеек из экселя макросом в текстовике в…

Все слова, начинающиеся на «а», поместить в кавычки
Ввести текст. Все слова начинающиеся на "а" поместить в кавычки.

Ввести латинский текст и выписать различные слова, которые взяты в кавычки, например, «cat»
Ввести латинский текст и выписать различные слова, которые взяты в кавычки, например, "cat"

5

аналитика

здесь больше нет…

3372 / 1670 / 184

Регистрация: 03.02.2010

Сообщений: 1,219

30.03.2010, 23:52

2

Visual Basic
1
cells(1,1)="""" '4 штуки

как вариант — 2 одинарные кавычки



1



437 / 144 / 9

Регистрация: 12.01.2009

Сообщений: 678

Записей в блоге: 1

31.03.2010, 13:08

 [ТС]

3

Цитата
Сообщение от аналитика
Посмотреть сообщение

как вариант — 2 одинарные кавычки

Одинарные это вот такие ‘ ?



0



аналитика

здесь больше нет…

3372 / 1670 / 184

Регистрация: 03.02.2010

Сообщений: 1,219

31.03.2010, 13:25

4

Цитата
Сообщение от analyst
Посмотреть сообщение

Одинарные это вот такие ‘ ?

да — апостроф.
Кстати, если нужно две кавычки («»), то в коде

Visual Basic
1
cells(1,1)="""""" '6 штук



1



analyst

437 / 144 / 9

Регистрация: 12.01.2009

Сообщений: 678

Записей в блоге: 1

31.03.2010, 13:39

 [ТС]

5

Цитата
Сообщение от аналитика
Посмотреть сообщение

да — апостроф.
Кстати, если нужно две кавычки («»), то в коде

Visual Basic
1
cells(1,1)="""""" '6 штук

Апостраф не подойдет. Он отображается по другому!
Откуда такие познания на счёт кавычек, это есть в документации?)



0



ironegg

1904 / 781 / 31

Регистрация: 11.02.2010

Сообщений: 1,567

31.03.2010, 14:44

6

гунделой в книжке b & «Разработка настольных приложений в Access 2002.Для профессионалов» & b рекомендует использовать в таких случаях собственную функцию

Visual Basic
1
2
3
Function b()
    b = Chr(34)
End Function



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

31.03.2010, 14:44

Помогаю со студенческими работами здесь

Отметить полужирным шрифтом в исходном тексте слова имеющие приставки «пре», «при», «на», «не»
Отметить полужирным шрифтом в исходном тексте слова имеющие приставки "пре",
"при", "на", "не"….

Как после определенного символа в строке поставить «;»
данные содержатся в txt формате
нужно из него сделать csv
подскажите пожалуйста как после…

Проверить, содержит ли строка символы отличные от «+», «-«, «*» и «/»
"+", "-", "*" и "/"

вот

начал, дальше не знаю что делать

Sub rr()

Dim s As String,…

MS Acces VBA. Как вывести поле «фамилия» и «группа» из таблицы «студенты» в Access ?
Использовать Fields? Посмотрите в рисунке задания.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

6

Содержание

  1. VBA Excel. Кавычки в коде — двойные и ёлочки
  2. Двойные кавычки
  3. Кавычки «ёлочки»
  4. Кавычки в строковых выражениях
  5. Включить одинарные кавычки
  6. Включить двойные кавычки
  7. Включение переменной, представляющей кавычки
  8. Поддержка и обратная связь
  9. How do I put double quotes in a string in vba?
  10. 5 Answers 5
  11. VBA Excel. Работа с текстом (функции)
  12. Функции для работы с текстом
  13. Ключевые слова для работы с текстом
  14. Примеры
  15. Вывод прямых парных кавычек
  16. Строки
  17. Создание строки
  18. Специальные символы

VBA Excel. Кавычки в коде — двойные и ёлочки

Двойные кавычки и кавычки «ёлочки» в коде VBA Excel. Коды символов кавычек и ввод кавычек «ёлочек» в редакторе VBA Excel с клавиатуры. Примеры.

Двойные кавычки

Двойные прямые кавычки ( «Весна» ) обычно называют просто «двойные кавычки» или «прямые кавычки», так как в текстах они встречаются намного чаще одинарных прямых кавычек ( ‘Весна’ ).

В VBA Excel прямые кавычки являются специальными символами, обозначающими текст:

Переменной x присваивается строка (текст): Магазин Весна открыт .

Если мы хотим отобразить эту строку со словом «Весна» в двойных кавычках, необходимо слово в прямых кавычках экранировать еще одной парой двойных кавычек ( «»Весна»» ) или использовать функцию Chr, возвращающую символ по его числовому коду. Числовой код прямых кавычек — 34.

Пример добавления двойных прямых кавычек внутри текста из кода VBA Excel:

Кавычки «ёлочки»

Двойные кавычки «ёлочки» обычно называют просто кавычки «ёлочки» , так как одинарные ‹ёлочки› встречаются очень редко.

Двойные кавычки «ёлочки» не являются спецсимволами, поэтому в строках внутри процедур VBA Excel их можно использовать не только через функцию Chr по числовому коду символа, но и ввести с клавиатуры.

Ввод «ёлочек» с клавиатуры в редакторе VBA Excel осуществляется также с помощью числовых кодов символов открывающей и закрывающей кавычек:

  • числовой код открывающей кавычки ( « ) — 171;
  • числовой код закрывающей кавычки ( » ) — 187.

Сочетания клавиш для ввода «ёлочек» с клавиатуры:

  • Alt+0171 — ввод открывающей кавычки ( « );
  • Alt+0187 — ввод закрывающей кавычки ( » ).

Обратите внимание, что для ввода «ёлочек» с клавиатуры используется левая клавиша Alt, а числовой код набирается на цифровом блоке справа.

Пример добавления двойных кавычек «ёлочки» внутри текста из кода VBA Excel:

Источник

Кавычки в строковых выражениях

В ситуациях, когда необходимо создать строки для объединения, может потребоваться внедрить строку в другую строку или строковую переменную в строку. Ситуации, в которых может потребоваться вложить одну строку в другую, включают:

При указании условий для агрегатных функций домена.

При указании условий для методов Find .

При указании условий для свойства Filter или ServerFilter формы.

При создании строк SQL.

Во всех этих экземплярах Access должен передавать строку ядру СУБД Access. Например, при указании аргумента условия для агрегатной функции домена Access необходимо оценить все переменные, сцепить их в строку, а затем передать всю строку в ядро СУБД Access.

При внедрении числовой переменной Access вычисляет переменную и просто объединяет значение в строку. Однако если переменная является текстовой строкой, результирующая строка условия будет содержать строку в строке. Строка в строке должна быть определена разделителями строк. В противном случае ядро СУБД Access не сможет определить, какая часть строки является нужным значением.

Строковые разделители на самом деле не являются частью самой переменной, но они должны быть включены в строку в аргументе условия . Существует три разных способа создания строки в аргументе условия . Каждый метод приводит к подобию аргумента условия , который выглядит как в одном из следующих примеров.

Включить одинарные кавычки

В аргумент условия следует включить одинарные кавычки таким образом, чтобы при сцеплях значения переменной в строку оно заключалось в одинарные кавычки. Например, предположим, что аргумент условия должен содержать строковую переменную с именем strName . Аргумент условия можно создать, как показано в следующем примере:

Когда переменная strName вычисляется и объединяется в строку условия , строка условия становится:

Этот синтаксис не позволяет использовать апострофы (‘) в значении самой переменной. Если значение строковой переменной содержит апостроф, Access создает ошибку во время выполнения. Если переменная может представлять значения, содержащие апострофы, рассмотрите возможность использования одной из других форм синтаксиса, описанных в следующих разделах.

Включить двойные кавычки

Следует включить двойные кавычки в аргумент условия таким образом, чтобы при вычислении значения переменной оно заключалось в кавычки. В строке необходимо использовать два набора двойных кавычек, чтобы представить один набор двойных кавычек. Аргумент условия можно создать, как показано в следующем примере:

Когда переменная strName вычисляется и объединяется с аргументом условия , каждый набор из двух двойных кавычек заменяется одной кавычки. Аргумент условия становится следующим:

Этот синтаксис может показаться более сложным, чем синтаксис одной кавычки, но он позволяет внедрить строку, содержащую апостроф, в аргумент условия . Он также позволяет вложить одну или несколько строк во внедренную строку.

Включение переменной, представляющей кавычки

Можно создать строковую переменную, представляющую двойные кавычки, и объединить эту переменную в аргумент условия вместе со значением переменной. Представление ANSI для двойных кавычек : Chr$(34) это значение можно присвоить строковой переменной с именем strQuote . Затем можно создать аргумент условия , как показано в следующем примере:

Когда переменные вычисляются и объединяются в аргумент условия , аргумент условия становится следующим:

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

How do I put double quotes in a string in vba?

I want to insert an if statement in a cell through vba which includes double quotes.

Here is my code:

Due to double quotes I am having issues with inserting the string. How do I handle double quotes?

5 Answers 5

I find the easiest way is to double up on the quotes to handle a quote.

Some people like to use CHR(34)*:

*Note: CHAR() is used as an Excel cell formula, e.g. writing «=CHAR(34)» in a cell, but for VBA code you use the CHR() function.

Another work-around is to construct a string with a temporary substitute character. Then you can use REPLACE to change each temp character to the double quote. I use tilde as the temporary substitute character.

Here is an example from a project I have been working on. This is a little utility routine to repair a very complicated formula if/when the cell gets stepped on accidentally. It is a difficult formula to enter into a cell, but this little utility fixes it instantly.

This is really just a simple programming trick, but it makes entering the formula in your VBA code pretty easy.

All double quotes inside double quotes which suround the string must be changed doubled. As example I had one of json file strings : «delivery»: «Standard», In Vba Editor I changed it into «»»delivery»»: «»Standard»»,» and everythig works correctly. If you have to insert a lot of similar strings, my proposal first, insert them all between «» , then with VBA editor replace » inside into «». If you will do mistake, VBA editor shows this line in red and you will correct this error.

I have written a small routine which copies formula from a cell to clipboard which one can easily paste in Visual Basic Editor.

Источник

VBA Excel. Работа с текстом (функции)

Работа с текстом в коде VBA Excel. Функции, оператор & и другие ключевые слова для работы с текстом. Примеры использования некоторых функций и ключевых слов.

Функции для работы с текстом

Основные функции для работы с текстом в VBA Excel:

Функция Описание
Asc(строка) Возвращает числовой код символа, соответствующий первому символу строки. Например: MsgBox Asc(«/Stop»). Ответ: 47, что соответствует символу «/».
Chr(код символа) Возвращает строковый символ по указанному коду. Например: MsgBox Chr(47). Ответ: «/».
Format(Expression, [FormatExpression], [FirstDayOfWeek], [FirstWeekOfYear]) Преобразует число, дату, время в строку (тип данных Variant (String)), отформатированную в соответствии с инструкциями, включенными в выражение формата. Подробнее…
InStr([начало], строка1, строка2, [сравнение]) Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с начала строки. Подробнее…
InstrRev(строка1, строка2, [начало, [сравнение]]) Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с конца строки. Подробнее…
Join(SourceArray,[Delimiter]) Возвращает строку, созданную путем объединения нескольких подстрок из массива. Подробнее…
LCase(строка) Преобразует буквенные символы строки в нижний регистр.
Left(строка, длина) Возвращает левую часть строки с заданным количеством символов. Подробнее…
Len(строка) Возвращает число символов, содержащихся в строке.
LTrim(строка) Возвращает строку без начальных пробелов (слева). Подробнее…
Mid(строка, начало, [длина]) Возвращает часть строки с заданным количеством символов, начиная с указанного символа (по номеру). Подробнее…
Replace(expression, find, replace, [start], [count], [compare]) Возвращает строку, полученную в результате замены одной подстроки в исходном строковом выражении другой подстрокой указанное количество раз. Подробнее…
Right(строка, длина) Возвращает правую часть строки с заданным количеством символов. Подробнее…
RTrim(строка) Возвращает строку без конечных пробелов (справа). Подробнее…
Space(число) Возвращает строку, состоящую из указанного числа пробелов. Подробнее…
Split(Expression,[Delimiter],[Limit],[Compare]) Возвращает одномерный массив подстрок, извлеченных из указанной строки с разделителями. Подробнее…
StrComp(строка1, строка2, [сравнение]) Возвращает числовое значение Variant (Integer), показывающее результат сравнения двух строк. Подробнее…
StrConv(string, conversion) Изменяет регистр символов исходной строки в соответствии с заданным параметром «conversion». Подробнее…
String(число, символ) Возвращает строку, состоящую из указанного числа символов. В выражении «символ» может быть указан кодом символа или строкой, первый символ которой будет использован в качестве параметра «символ». Подробнее…
StrReverse(строка) Возвращает строку с обратным порядком следования знаков по сравнению с исходной строкой. Подробнее…
Trim(строка) Возвращает строку без начальных (слева) и конечных (справа) пробелов. Подробнее…
UCase(строка) Преобразует буквенные символы строки в верхний регистр.
Val(строка) Возвращает символы, распознанные как цифры с начала строки и до первого нецифрового символа, в виде числового значения соответствующего типа. Подробнее…
WorksheetFunction.Trim(строка) Функция рабочего листа, которая удаляет все лишние пробелы (начальные, конечные и внутренние), оставляя внутри строки одиночные пробелы.

В таблице перечислены основные функции VBA Excel для работы с текстом. С полным списком всевозможных функций вы можете ознакомиться на сайте разработчика.

Ключевые слова для работы с текстом

Ключевое слово Описание
& Оператор & объединяет два выражения (результат = выражение1 & выражение2). Если выражение не является строкой, оно преобразуется в Variant (String), и результат возвращает значение Variant (String). Если оба выражения возвращают строку, результат возвращает значение String.
vbCrLf Константа vbCrLf сочетает в себе возврат каретки и перевод строки (Chr(13) + Chr(10)) и переносит последующий текст на новую строку (результат = строка1 & vbCrLf & строка2).
vbNewLine Константа vbNewLine в VBA Excel аналогична константе vbCrLf, также сочетает в себе возврат каретки и перевод строки (Chr(13) + Chr(10)) и переносит текст на новую строку (результат = строка1 & vbNewLine & строка2).

Примеры

Вывод прямых парных кавычек

Прямые парные кавычки в VBA Excel являются спецсимволами и вывести их, заключив в самих себя или в одинарные кавычки (апострофы), невозможно. Для этого подойдет функция Chr:

Источник

Строки

Язык VBA поддерживает два типа строк:

  • строки фиксированной длины — при объявлении строки фиксированной длины после названия типа String указывается символ * , а затем размер:
  • строки произвольной длины — чтобы объявить строку произвольной длины достаточно указать только тип String :

Строки в VBA по умолчанию хранятся в кодировке Unicode (один символ кодируется двумя байтами). При вводе и выводе производится автоматическое преобразование кодировки. Если необходимо обрабатывать какие-либо бинарные данные или работать с однобайтовыми строками, то можно использовать массив значений типа Byte или воспользоваться функцией StrConv() для преобразования кодировки (см. разд. 6.8).

Создание строки

Присваивание значения переменной осуществляется с помощью оператора =, после которого указывается последовательность символов внутри кавычек:

Если при использовании строк фиксированной длины присвоить значение превышающее по длине размер, указанный при объявлении, то строка будет обрезана:

Следует учитывать, что заключить объект в кавычки на нескольких строках нельзя. Переход на новую строку вызовет синтаксическую ошибку. Перенести объект с помощью последовательности пробел плюс символ подчеркивания также нельзя. В этом случае нужно использовать операцию конкатенации строк и последовательность пробел плюс символ подчеркивания:

Если в операции присваивания перед названием переменной указать оператор LSet , то первоначальная длина строки сохраняется и внутри нее выводится новая строка. Если длина новой строки меньше длины первоначальной строки, то вместо недостающих символов вставляются пробелы, а новая строка выравнивается по левому краю. Если новая строка более длинная, то она обрезается. Пример:

Если в операции присваивания перед названием переменной указать оператор RSet , то первоначальная длина строки сохраняется и внутри нее выводится новая строка. Если длина новой строки меньше длины первоначальной строки, то вместо недостающих символов вставляются пробелы, а новая строка выравнивается по правому краю. Если новая строка более длинная, то она обрезается. Пример:

Специальные символы

Специальные символы — это служебные или непечатаемые символы, которые невозможно вставить в строку обычным способом. Чтобы добавить такие символы нужно воспользоваться функцией Chr( ) , которая возвращает символ по его коду. Перечислим специальные символы и их коды:

  • Chr(10) — перевод строки;
  • Chr(13) — возврат каретки;
  • Chr(9) — знак табуляции;
  • Chr(11) — вертикальная табуляция;
  • Chr(7) — звонок;
  • Chr(8) — забой;
  • Chr(12) — перевод формата;
  • Chr(0) — нулевой символ (не является признаком конца строки).

Пример вставки в строку символа возврата каретки и символа перевода строки:

Вместо функции Chr() можно использовать специальные константы:

  • vbCr — возвращает символ возврата каретки; эквивалентно Chr(13) ;
  • vbLf — возвращает символ перевода строки; эквивалентно Chr(10) ;
  • vbCrLf — возвращает символ возврата каретки плюс символ перевода строки; эквивалентно Chr(13) & Chr(10) ;
  • vbNewLine — эквивалентно Chr(13) & Chr(10) или в Macintosh Chr(13) ;
  • vbTab — возвращает символ табуляции; эквивалентно Chr(9) ;
  • vbNullChar — возвращает нулевой символ; эквивалентно Chr(0) .

Пример вставки в строку символа возврата каретки и символа перевода строки:

Кавычка также является специальным символом, так как вся строка должна быть указана внутри кавычек. Попытка указать кавычку внутри строки приведет к ошибке при компиляции. Чтобы внутри строки вставить кавычку, необходимо вместо одной кавычки указать сразу две:

Статьи по Visual Basic for Applications (VBA)

Помощь сайту

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

Источник

Заключаем строку VBA в кавычки

Чтобы в строку VBA записать символ кавычек, приходится использовать код символа кавычек Chr(34) или дублировать символ кавычек. В итоге получается громоздкий код вида

‘запись формулы в ячейку Excel

c.FormulaLocal = «=ГИПЕРССЫЛКА(«»[C:Книга.xls]»»)»

‘или

c.FormulaLocal=»=ГИПЕРССЫЛКА(» & Chr(34) & «[C:w.xls]» & Chr(34) & «)»

Для заключения строк в кавычки можно использовать функцию

‘заключает текст в двойные кавычки (способ 1)

Public Function Quotes(text As String) As String

Quotes = Chr(34) & text & Chr(34)

End Function

‘заключает текст в двойные кавычки (способ 2)

Public Function Quotes(text As String) As String

Quotes = «»»» & text & «»»»

End Function

c.FormulaLocal = «=ГИПЕРССЫЛКА(» & Quotes(«[C:Книга.xls]») & «)»

Понравилась статья? Поделить с друзьями:
  • Excel vba изменить имя листа
  • Excel vba изменить высоту строки
  • Excel vba измененная ячейка
  • Excel vba игнорировать ошибку
  • Excel vba значение ячейки в другую ячейку