Access для Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Еще…Меньше
Возвращает строку, содержащую символ, связанный с указанным код знака.
Синтаксис
Chr
(
код_знака
)
Требуемая кодировкиаргумент — это long, который определяет символ.
Замечания
Числа от 0 до 31 и стандартные непечатаемые коды ASCII. Например, chr(10)возвращает символ linefeed. Обычный диапазон для кодировки — 0–255. Однако в двухбайтовая кодировка (DBCS) фактический диапазон для кодировки составляет -32768–65535.
Примечание: Функция ChrB используется с содержаными в строке byte данными. Вместо символа, который может быть один или два bytes, ChrB всегда возвращает один byte. Функция ChrW возвращает строку, содержащую знак Юникод, за исключением платформ, на которых Юникод не поддерживается, в этом случае поведение идентично работе функции Chr.
Примечание: Visual Basic для macOS не поддерживает строки Юникода. Поэтому функция ChrW(n) не может возвращать знаки Юникода для значений n в диапазоне от 128 до 65535, что возможно в среде Windows. Вместо этого ChrW(n) использует «наилучшую замену» для значений Юникода больше 127. В связи с этим не следует использовать ChrW в macOS.
Примеры запросов
|
|
SELECT Chr(97) AS Expr1 FROM ProductSales GROUP BY Chr(97); |
Возвращает значение «Символ» для кода ASCII «97». Результат: «а». |
SELECT Chr(90) AS ChrValue FROM ProductSales GROUP BY Chr(90); |
Возвращает значение «Character» для кода ASCII «90» в столбце ChrValue. Результат: «Z». |
Пример VBA
Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
В данном примере функция Chr возвращает знак, соответствующий указанному коду знака.
Dim MyChar
MyChar = Chr(65) ' Returns A.
MyChar = Chr(97) ' Returns a.
MyChar = Chr(62) ' Returns >.
MyChar = Chr(37) ' Returns %.
Нужна дополнительная помощь?
title | keywords | f1_keywords | ms.prod | ms.assetid | ms.date | ms.localizationpriority |
---|---|---|---|---|---|---|
Chr function (Visual Basic for Applications) |
vblr6.chm1020927 |
vblr6.chm1020927 |
office |
a9dc96ec-4719-8d24-144b-61d45fa58fe5 |
12/11/2019 |
high |
Returns a String containing the character associated with the specified character code.
Syntax
Chr(charcode)
ChrB(charcode)
ChrW(charcode)
The required charcode argument is a Long that identifies a character.
Remarks
Numbers from 0–31 are the same as standard, nonprintable ASCII codes. For example, Chr(10) returns a linefeed character. The normal range for charcode is 0–255. However, on DBCS systems, the actual range for charcode is -32768–65535.
[!NOTE]
The ChrB function is used with byte data contained in a String. Instead of returning a character, which may be one or two bytes, ChrB always returns a single byte.The ChrW function returns a String containing the Unicode character except on platforms where Unicode is not supported, in which case, the behavior is identical to the Chr function.
[!NOTE]
Visual Basic for the Macintosh does not support Unicode strings. Therefore, ChrW(n) cannot return all Unicode characters for n values in the range of 128–65,535, as it does in the Windows environment. Instead, ChrW(n) attempts a «best guess» for Unicode values n greater than 127. Therefore, you should not use ChrW in the Macintosh environment.
The functions Asc(), AscB(), and AscW() are the opposite of Chr(), ChrB(), and ChrW(). The Asc() functions convert a string to an integer.
Example
This example uses the Chr function to return the character associated with the specified character code.
Dim MyChar MyChar = Chr(65) ' Returns A. MyChar = Chr(97) ' Returns a. MyChar = Chr(62) ' Returns >. MyChar = Chr(37) ' Returns %.
See also
- Character set (0 — 127)
- Character set (128 — 255)
- Functions (Visual Basic for Applications)
- Asc(), AscB(), and AscW() functions
[!includeSupport and feedback]
Работа с текстом в коде 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:
Sub Primer1() ‘Вывод одной прямой парной кавычки MsgBox Chr(34) ‘Отображение текста в прямых кавычках MsgBox Chr(34) & «Волга» & Chr(34) ‘Вывод 10 прямых парных кавычек подряд MsgBox String(10, Chr(34)) End Sub |
Смотрите интересное решение по выводу прямых кавычек с помощью прямых кавычек в первом комментарии.
Отображение слов наоборот
Преобразование слова «налим» в «Милан»:
Sub Primer2() Dim stroka stroka = «налим» stroka = StrReverse(stroka) ‘милан stroka = StrConv(stroka, 3) ‘Милан MsgBox stroka End Sub |
или одной строкой:
Sub Primer3() MsgBox StrConv(StrReverse(«налим»), 3) End Sub |
Преобразование слова «лето» в «отель»:
Sub Primer4() Dim stroka stroka = «лето» stroka = StrReverse(stroka) ‘отел stroka = stroka & «ь» ‘отель MsgBox stroka End Sub |
или одной строкой:
Sub Primer5() MsgBox StrReverse(«лето») & «ь» End Sub |
Печатная машинка
Следующий код VBA Excel в замедленном режиме посимвольно печатает указанную строку на пользовательской форме, имитируя печатную машинку.
Для реализации этого примера понадобится пользовательская форма (UserForm1) с надписью (Label1) и кнопкой (CommandButton1):
Код имитации печатной машинки состоит из двух процедур, первая из которых замедляет выполнение второй, создавая паузу перед отображением очередного символа, что и создает эффект печатающей машинки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub StopSub(Pause As Single) Dim Start As Single Start = Timer Do While Timer < Start + Pause DoEvents Loop End Sub Private Sub CommandButton1_Click() Dim stroka As String, i As Byte stroka = «Печатная машинка!» Label1.Caption = «» For i = 1 To Len(stroka) Call StopSub(0.25) ‘пауза в секундах ‘следующая строка кода добавляет очередную букву Label1.Caption = Label1.Caption & Mid(stroka, i, 1) Next End Sub |
Обе процедуры размещаются в модуле формы. Нажатие кнопки CommandButton1 запустит замедленную печать символов в поле надписи, имитируя печатную машинку.
VBA CHR Function
VBA CHR function is categorized under Text/String function.
Each & every character in Excel has a specific assigned number code (ASCII code) to itself. VBA Chr function returns or results in String containing the character associated with the specified character code (also referred to as ASCII value). ASCII stands for American Standard Code for Information Interchange
ASCII_Value: It is a standard for the relationship between a number of value and a character type.
ASCII value should be in the range of or between 0 and 255 which are categorized into 3 types.
- Between 0 to 31 range is an ASCII control character OR Non-Printing Control Codes.
- 32 to 127 range is an ASCII printable characters.
- 128 to 255 range is an Extended ASCII codes.
Syntax of CHR in Excel VBA
After typing Chr, click on spacebar the below-mentioned syntax appears.
Chr( ascii_value ) or Chr(charcode)
It contains one input parameter or argument (Compulsory & required), Charcode argument is a Long which identifies a character. It will result in both printable and unprintable characters.
Mapping of Characters with their ASCII Values (Each code explained in Excel file _ CHARACTER CODE DESCRIPTION SHEET)
1 – 9 | 58 | : | 87 | W | 116 | t | 145 | ‘ | 174 | ® | 203 | Ë | 232 | è | |
10 | 59 | ; | 88 | X | 117 | u | 146 | ’ | 175 | ¯ | 204 | Ì | 233 | é | |
11 – 31 | 60 | < | 89 | Y | 118 | v | 147 | “ | 176 | ° | 205 | Í | 234 | ê | |
32 | 61 | = | 90 | Z | 119 | w | 148 | ” | 177 | ± | 206 | Î | 235 | ë | |
33 | ! | 62 | > | 91 | [ | 120 | x | 149 | • | 178 | ² | 207 | Ï | 236 | ì |
34 | “ | 63 | ? | 92 | 121 | y | 150 | – | 179 | ³ | 208 | Ð | 237 | í | |
35 | # | 64 | @ | 93 | ] | 122 | z | 151 | — | 180 | ´ | 209 | Ñ | 238 | î |
36 | $ | 65 | A | 94 | ^ | 123 | { | 152 | ˜ | 181 | µ | 210 | Ò | 239 | ï |
37 | % | 66 | B | 95 | _ | 124 | | | 153 | ™ | 182 | ¶ | 211 | Ó | 240 | ð |
38 | & | 67 | C | 96 | ` | 125 | } | 154 | š | 183 | · | 212 | Ô | 241 | ñ |
39 | ‘ | 68 | D | 97 | a | 126 | ~ | 155 | › | 184 | ¸ | 213 | Õ | 242 | ò |
40 | ( | 69 | E | 98 | b | 127 | | 156 | œ | 185 | ¹ | 214 | Ö | 243 | ó |
41 | ) | 70 | F | 99 | c | 128 | € | 157 | | 186 | º | 215 | × | 244 | ô |
42 | * | 71 | G | 100 | d | 129 | | 158 | ž | 187 | » | 216 | Ø | 245 | õ |
43 | + | 72 | H | 101 | e | 130 | ‚ | 159 | Ÿ | 188 | ¼ | 217 | Ù | 246 | ö |
44 | , | 73 | I | 102 | f | 131 | ƒ | 160 | 189 | ½ | 218 | Ú | 247 | ÷ | |
45 | – | 74 | J | 103 | g | 132 | „ | 161 | ¡ | 190 | ¾ | 219 | Û | 248 | ø |
46 | . | 75 | K | 104 | h | 133 | … | 162 | ¢ | 191 | ¿ | 220 | Ü | 249 | ù |
47 | / | 76 | L | 105 | i | 134 | † | 163 | £ | 192 | À | 221 | Ý | 250 | ú |
48 | 0 | 77 | M | 106 | j | 135 | ‡ | 164 | ¤ | 193 | Á | 222 | Þ | 251 | û |
49 | 1 | 78 | N | 107 | k | 136 | ˆ | 165 | ¥ | 194 | Â | 223 | ß | 252 | ü |
50 | 2 | 79 | O | 108 | l | 137 | ‰ | 166 | ¦ | 195 | Ã | 224 | à | 253 | ý |
51 | 3 | 80 | P | 109 | m | 138 | Š | 167 | § | 196 | Ä | 225 | á | 254 | þ |
52 | 4 | 81 | Q | 110 | n | 139 | ‹ | 168 | ¨ | 197 | Å | 226 | â | 255 | ÿ |
53 | 5 | 82 | R | 111 | o | 140 | Œ | 169 | © | 198 | Æ | 227 | ã | ||
54 | 6 | 83 | S | 112 | p | 141 | | 170 | ª | 199 | Ç | 228 | ä | ||
55 | 7 | 84 | T | 113 | q | 142 | Ž | 171 | « | 200 | È | 229 | å | ||
56 | 8 | 85 | U | 114 | r | 143 | | 172 | ¬ | 201 | É | 230 | æ | ||
57 | 9 | 86 | V | 115 | s | 144 | | 173 | 202 | Ê | 231 | ç |
How to Use CHR Function in Excel VBA?
Below are the different examples to use CHR Function in Excel using VBA code.
You can download this VBA CHR Excel Template here – VBA CHR Excel Template
Now let us test this CHR Function through some examples and learn how they work.
VBA CHR Function – Example #1
Step 1: Select or click on Visual Basic in the Code group on the Developer tab or you can directly click on Alt + F11 shortcut key.
Step 2: Now, you can see VB Editor window, under the project window, in VBA project, you can see work file listed (i.e. Sheet1 (VB_CHR)
To create a blank module, under the Microsoft excel objects, right-click on sheet 1(VB_CHR) click on Insert and select Module so that a new blank module gets created.
VBA CHR Function – Example #2
Step 1: Now the blank module is created, it is also called a code window, where you can start writing VBA CHR function statement codes.
Code:
Sub CHRAC() Sheet1.Range("D6") = CHR(77) End Sub
Step 2: The above-mentioned VBA code returns or results in an Upper-case alphabet M in “D6” cell, i.e. for the ASCII value 77.
VBA CHR Function – Example #3
Step 1: Start another subprocedure as follows,
Code:
Sub CHRAC1() End Sub
Step 2: Similarly, multiple character codes can be obtained in the cell with the help of below-mentioned code
Code:
Sub CHRAC1() Sheet1.Range("D9") = CHR(37) Sheet1.Range("D11") = CHR(47) Sheet1.Range("D13") = CHR(57) Sheet1.Range("D15") = CHR(128) End Sub
Step 3: Let us execute the above code. Once you run the above-mentioned code, you can notice a character code in the excel file.
- CHR(37) will return a % (Percent symbol) in a cell “D9” whereas,
- CHR(47) returns / (Slash/Divide symbol) in the cell “D11”
- CHR(57) returns a numeric value 9 in the cell “D13” &
- CHR(128) returns a Euro Sign in the cell “D11”
VBA CHR Function – Example #4
In the below-mentioned example, suppose I want to insert double quotation for the middle name i.e. MANI
Here, for this, I can use VBA CHR function.
Step 1: Once, I run the below-mentioned code with the CHR code 34, it will insert a double quotation mark in the middle name.
Code:
Sub CHRAC2() Sheet3.Range("C4") = "MANI" & CHR(34) & "RAM" & CHR(34) & "KUMAR" End Sub
Step 2: Let us execute the above code by clicking on the play button and the result in the below-mentioned output in the cell “E19”
VBA CHR Function – Example #5
In the below-mentioned example, suppose I want to add a trademark symbol for company i.e. GOOGLE
Here, for this, I can use VBA CHR function with ASCII code “153”
Step 1: Once, I run the below-mentioned code with the CHR code 153, it will show TM symbol for the word GOOGLE.
Code:
Sub CHRAC3() Sheet4.Range("C3") = "GOOGLE" & CHR(153) End Sub
Step 2: The above code, result in the below-mentioned output in the cell “K18”
Save your workbook as “Excel macro-enabled workbook”. By clicking on save as at the left corner of the worksheet. Once again if you open a file, you can click on shortcut key i.e. Fn + Alt +F8, “Macro” dialog box appears, where you can run a saved macro code of your choice or you can click on Fn + Alt + F11 for a full macro window.
Things to Remember
If you enter an invalid number to the Chr function i.e. Number in a range of lesser than 0 or more than 255, then you will get the error i.e. Run-time error.
Recommended Articles
This is a guide to VBA CHR. Here we discuss how to use Excel VBA CHR function along with practical examples and downloadable excel template. You can also go through our other suggested articles –
- VBA Copy Paste
- VBA RGB
- VBA Subscript out of Range
- VBA XML
В этом учебном материале вы узнаете, как использовать Excel функцию CHR с синтаксисом и примерами.
Описание
Microsoft Excel функция CHR возвращает символ на основе значения ASCII.
Функция CHR — это встроенная в Excel функция, которая относится к категории строковых / текстовых функций. Её можно использовать как функцию VBA в Excel.
В качестве функции VBA вы можете использовать эту функцию в коде макроса, который вводится через редактор Microsoft Visual Basic Editor.
Синтаксис
Синтаксис функции CHR в Microsoft Excel:
Chr( ascii_value )
Аргументы или параметры
- ascii_value
- Значение ASCII, используемое для получения символа.
Возвращаемое значение
Функция CHR возвращает строковое значение.
Применение
- Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 для Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000
Тип функции
- Функция VBA
Пример (как функция VBA)
Функцию CHR можно использовать только в коде VBA в Microsoft Excel.
Давайте взглянем на некоторые примеры функций CHR чтобы понять, как использовать Excel функцию CHR в коде VBA:
Chr (87) Результат: «W» Chr (105) Результат: «i» |
Например:
Dim LResult As String LResult = Chr(87) |
В этом примере переменная с именем LResult теперь будет содержать значение «W».