Vba таблица chr: Функция Chr (Visual Basic для приложений)
Функция Chr (Visual Basic для приложений)
-
- Чтение занимает 2 мин
В этой статье
Возвращает значение типа String, которое содержит символ, связанный с указанным кодом символа.Returns a String containing the character associated with the specified character code.
СинтаксисSyntax
Chr(charcode)Chr(charcode)
ChrB(charcode)ChrB(charcode)
ChrW(charcode)ChrW(charcode)
Требуемый аргумент charcode представляет собой значение типа Long, которое определяет символ.The required charcode argument is a Long that identifies a character.
ПримечанияRemarks
Числа 0–31 соответствуют стандартным непечатным кодам ASCII.Numbers from 0–31 are the same as standard, nonprintable ASCII codes. Например, Chr(10) возвращает символ перевода строки.For example, Chr(10) returns a linefeed character. Нормальный диапазон для charcode составляет 0–255.The normal range for charcode is 0–255. Но в системах двухбайтовой кодировки (DBCS) действующий диапазон для charcode составляет -32 768–65 535.However, on DBCS systems, the actual range for charcode is -32768–65535.
Примечание
Функция ChrB используется с байтовыми данными, содержащимися в значении String.The ChrB function is used with byte data contained in a String. Вместо знака, который может состоять из одного или двух байт, ChrB всегда возвращает один байт.Instead of returning a character, which may be one or two bytes, ChrB always returns a single byte.
Функция ChrW возвращает переменную String, которая содержит знак Юникода. Исключение составляют платформы, не поддерживающие Юникод; в этом случае функция работает так же, как функция Chr.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.
Примечание
Visual Basic для macOS не поддерживает строки Юникода.Visual Basic for the Macintosh does not support Unicode strings. Поэтому функция ChrW(n) не может возвратить все символы Unicode для значений n в диапазоне 128–65 535, как это происходит в среде Windows.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. Вместо этого ChrW(n) использует «наилучшую замену» для значений Юникода больше 127.Instead, ChrW(n) attempts a «best guess» for Unicode values n greater than 127. В связи с этим не следует использовать ChrW в macOS.Therefore, you should not use ChrW in the Macintosh environment.
Функции Asc(), AscB() и AscW() являются обратными для Chr(), ChrB() и ChrW().The functions Asc(), AscB(), and AscW() are the opposite of Chr(), ChrB(), and ChrW(). Функции Asc() преобразуют строку в целое число.The Asc() functions convert a string to an integer.
ПримерExample
В данном примере функция Chr возвращает знак, соответствующий указанному коду знака.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
Поддержка и обратная связьSupport and feedback
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
VB
Коды символов в VB
Коды символов в VB
Раз уж всем так
нужны коды клавиш, то вот они:
Код: 32 Символ: (пробел)
Код: 33 Символ: !
Код: 34 Символ: «
Код: 35 Символ: #
Код: 36 Символ: $
Код: 37 Символ: %
Код: 38 Символ: &
Код: 39 Символ: ‘
Код: 40 Символ: (
Код: 41 Символ: )
Код: 42 Символ: *
Код: 43 Символ: +
Код: 44 Символ: ,
Код: 45 Символ: —
Код: 46 Символ: .
Код: 47 Символ: /
Код: 48 Символ: 0
Код: 49 Символ: 1
Код: 50 Символ: 2
Код: 51 Символ: 3
Код: 52 Символ: 4
Код: 53 Символ: 5
Код: 54 Символ: 6
Код: 55 Символ: 7
Код: 56 Символ: 8
Код: 57 Символ: 9
Код: 58 Символ: :
Код: 59 Символ: ;
Код: 60 Символ: <
Код: 61 Символ: =
Код: 62 Символ: >
Код: 63 Символ: ?
Код: 64 Символ: @
Код: 65 Символ: A
Код: 66 Символ: B
Код: 67 Символ: C
Код: 68 Символ: D
Код: 69 Символ: E
Код: 70 Символ: F
Код: 71 Символ: G
Код: 72 Символ: H
Код: 73 Символ: I
Код: 74 Символ: J
Код: 75 Символ: K
Код: 76 Символ: L
Код: 77 Символ: M
Код: 78 Символ: N
Код: 79 Символ: O
Код: 80 Символ: P
Код: 81 Символ: Q
Код: 82 Символ: R
Код: 83 Символ: S
Код: 84 Символ: T
Код: 85 Символ: U
Код: 86 Символ: V
Код: 87 Символ: W
Код: 88 Символ: X
Код: 89 Символ: Y
Код: 90 Символ: Z
Код: 91 Символ: [
Код: 92 Символ: \
Код: 93 Символ: ]
Код: 94 Символ: ^
Код: 95 Символ: _
Код: 96 Символ: `
Код: 97 Символ: a
Код: 98 Символ: b
Код: 99 Символ: c
Код: 100 Символ: d
Код: 101 Символ: e
Код: 102 Символ: f
Код: 103 Символ: g
Код: 104 Символ: h
Код: 105 Символ: i
Код: 106 Символ: j
Код: 107 Символ: k
Код: 108 Символ: l
Код: 109 Символ: m
Код: 110 Символ: n
Код: 111 Символ: o
Код: 112 Символ: p
Код: 113 Символ: q
Код: 114 Символ: r
Код: 115 Символ: s
Код: 116 Символ: t
Код: 117 Символ: u
Код: 118 Символ: v
Код: 119 Символ: w
Код: 120 Символ: x
Код: 121 Символ: y
Код: 122 Символ: z
Код: 123 Символ: {
Код: 124 Символ: |
Код: 125 Символ: }
Код: 126 Символ: ~
Код: 127 Символ:
Код: 128 Символ: Ђ
Код: 129 Символ: Ѓ
Код: 130 Символ:
Код: 131 Символ: ѓ
Код: 132 Символ:
Код: 133 Символ:
Код: 134 Символ:
Код: 135 Символ:
Код: 136 Символ:
Код: 137 Символ:
Код: 138 Символ: Љ
Код: 139 Символ:
Код: 140 Символ: Њ
Код: 141 Символ: Ќ
Код: 142 Символ: Ћ
Код: 143 Символ: Џ
Код: 144 Символ: ђ
Код: 145 Символ:
Код: 146 Символ:
Код: 147 Символ:
Код: 148 Символ:
Код: 149 Символ:
Код: 150 Символ:
Код: 151 Символ:
Код: 152 Символ:
Код: 153 Символ:
Код: 154 Символ: љ
Код: 155 Символ:
Код: 156 Символ: њ
Код: 157 Символ: ќ
Код: 158 Символ: ћ
Код: 159 Символ: џ
Код: 160 Символ:
Код: 161 Символ: Ў
Код: 162 Символ: ў
Код: 163 Символ: Ј
Код: 164 Символ:
Код: 165 Символ: Ґ
Код: 166 Символ:
Код: 167 Символ:
Код: 168 Символ: Ё
Код: 169 Символ:
Код: 170 Символ: Є
Код: 171 Символ:
Код: 172 Символ:
Код: 173 Символ:
Код: 174 Символ:
Код: 175 Символ: Ї
Код: 176 Символ:
Код: 177 Символ:
Код: 178 Символ: І
Код: 179 Символ: і
Код: 180 Символ: ґ
Код: 181 Символ:
Код: 182 Символ:
Код: 183 Символ:
Код: 184 Символ: ё
Код: 185 Символ: №
Код: 186 Символ: є
Код: 187 Символ:
Код: 188 Символ: ј
Код: 189 Символ: Ѕ
Код: 190 Символ: ѕ
Код: 191 Символ: ї
Код: 192 Символ: А
Код: 193 Символ: Б
Код: 194 Символ: В
Код: 195 Символ: Г
Код: 196 Символ: Д
Код: 197 Символ: Е
Код: 198 Символ: Ж
Код: 199 Символ: З
Код: 200 Символ: И
Код: 201 Символ: Й
Код: 202 Символ: К
Код: 203 Символ: Л
Код: 204 Символ: М
Код: 205 Символ: Н
Код: 206 Символ: О
Код: 207 Символ: П
Код: 208 Символ: Р
Код: 209 Символ: С
Код: 210 Символ: Т
Код: 211 Символ: У
Код: 212 Символ: Ф
Код: 213 Символ: Х
Код: 214 Символ: Ц
Код: 215 Символ: Ч
Код: 216 Символ: Ш
Код: 217 Символ: Щ
Код: 218 Символ: Ъ
Код: 219 Символ: Ы
Код: 220 Символ: Ь
Код: 221 Символ: Э
Код: 222 Символ: Ю
Код: 223 Символ: Я
Код: 224 Символ: а
Код: 225 Символ: б
Код: 226 Символ: в
Код: 227 Символ: г
Код: 228 Символ: д
Код: 229 Символ: е
Код: 230 Символ: ж
Код: 231 Символ: з
Код: 232 Символ: и
Код: 233 Символ: й
Код: 234 Символ: к
Код: 235 Символ: л
Код: 236 Символ: м
Код: 237 Символ: н
Код: 238 Символ: о
Код: 239 Символ: п
Код: 240 Символ: р
Код: 241 Символ: с
Код: 242 Символ: т
Код: 243 Символ: у
Код: 244 Символ: ф
Код: 245 Символ: х
Код: 246 Символ: ц
Код: 247 Символ: ч
Код: 248 Символ: ш
Код: 249 Символ: щ
Код: 250 Символ: ъ
Код: 251 Символ: ы
Код: 252 Символ: ь
Код: 253 Символ: э
Код: 254 Символ: ю
Код: 255 Символ: я
Их достаточно
просто получить написав такую программу:
Open «allkeycode.txt»
for output as #1
for i=32 to 255
print #1, «Код: » & i & » Символ:
» & chr(i)
next i
close #1
Гайдар Магдануров
http://gmsvb.h2.ru
Проблема с заменой Chr (160) на VBA в excel
Я уже некоторое время получаю файлы excel, которые обычно сопровождаются специальным символом alt+0160 после учетных записей. Обычно я просто вручную заменяю его в excel, но в последнее время я стал ленивым и хочу заменить его с помощью моего скрипта VBA. Этот скрипт используется для вставки необходимых столбцов в нашу базу данных:
Sub insert()
Dim sSql As String
Dim db As New ADODB.Connection 'Go to Tools, References and turn on ActiveX Data Objects 2.8 Library
db.Open "DSN=XXXX;uid=XXXX;pwd=XXXX" 'INSERT ORACLE NAME AND PASSWORD
For i = 2 To 92 'Change Rows where it starts and ends
strAccount = Replace(Trim(Range("a" & i).Text), Chr(160), "")
If IsNumeric(strAccount) Then
While Len(strAccount) < 8
strAccount = "0" & strAccount
Wend
Else
strAccount = UCase(strAccount)
End If
sSql = "insert into XXXXX ("
sSql = sSql & " BATCH_ID"
sSql = sSql & " , ACCOUNT "
sSql = sSql & " , ATTORNEY_ID"
sSql = sSql & " , ORG_ID"
sSql = sSql & " , TRANSACTION_DATE"
sSql = sSql & " , DATE_INSERTED"
sSql = sSql & " , TRANSACTION_CODE"
sSql = sSql & " , AMOUNT"
sSql = sSql & " , DESCRIPTION"
sSql = sSql & " , DEBTOR_SSN"
sSql = sSql & ") VALUES ("
sSql = sSql & " (SELECT MAX(BATCH_ID) FROM XXXX)"
sSql = sSql & " , '" & strAccount & "'"
sSql = sSql & " , (SELECT ATTY_ID FROM XXXX WHERE BATCH_ID = (SELECT MAX(BATCH_ID) FROM XXXXX))"
sSql = sSql & " , (SELECT ORGANIZATION_ID FROM XXXX WHERE BATCH_ID = (SELECT MAX(BATCH_ID) FROM XXXXX))"
sSql = sSql & " , TO_DATE ('" & Trim(Range("B" & i).Text) & "', 'MM/DD/YYYY') "
sSql = sSql & " , SYSDATE"
sSql = sSql & " , '" & Trim(Range("D" & i).Text) & "'" 'CHANGE TO COLUMN TRANSACTION CODE IS IN
sSql = sSql & " , '" & Replace(Replace(Replace(Replace(Trim(Range("C" & i).Text), "$", ""), ",", ""), ")", ""), "(", "") & "'"
sSql = sSql & " , '" & Replace(Trim(Range("H" & i).Text), "'", "''") & "'"
sSql = sSql & " , '" & Replace(Replace(Trim(Range("F" & i).Text), " ", ""), "-", "") & "'"
sSql = sSql & ")"
db.Execute sSql
DoEvents
Debug.Print i
Next i
End Sub
Теперь я провел некоторое исследование и выяснил, что для замены этих символов вы используете Chr(160). Я использовал это в своем Replace
, но, похоже, это не помогает, учетные записи все еще загружаются с этими ужасными специальными символами. Любая помощь будет очень признательна.
vba
special-characters
Как объединить ячейки в Excel с помощью кода макроса VBA
Объединить ячейки чтобы придать таблице читабельный вид очень часто существенно усложняется с увеличением объема данных. Так же весьма неблагодарным занятием является присвоение соответственных границ для ячеек. На помощь пользователям приходят макросы, благодаря которым все эти действия можно выполнить автоматически.
Автоматическое объединение большого количества ячеек по вертикали
Допустим мы имеем маркетинговый план внедрения нового информационного программного продукта:
Чтобы план было легче визуально анализировать лучше объединить ячейки этапов выполнения плана: A2:A4, B2:B4 и т.д. К сожалению, многократно объединять диапазоны с большим количеством строк вручную – это задание требует слишком много времени и сил. Кроме того, можно допустить много ошибок после очередного десятка выделения ячеек перед объединением. Рассмотрим каким способом можно существенно облегчить свой труд переложив большую часть работы на простую программу, написанную на языке VBA прямо в Excel. Для этого следует написать макрос, который безошибочно быстро и автоматически объединит ячейки диапазонов с разным количеством строк для каждого столбца.
- Сначала откройте редактор макросов: «РАЗРАБОТЧИК»-«Код»-«Visual Basic» (или просто нажмите ALT+F11).
- Откройте стандартный модуль выбрав инструмент в редакторе: «Insert»-«Module» и введите в него следующий код макроса для объединения ячеек:
Sub ObedenitVertikal()
Dim i As Long
Dim j As Long
Dim intext As String
Application.DisplayAlerts = False
For i = 1 To Selection.Columns.Count
intext = Selection.Cells(1, i)
For j = 2 To Selection.Rows.Count
intext = intext & Chr(10) & Selection.Cells(j, i)
Next
Selection.Columns(i).Merge
Selection.Cells(1, i) = intext
Next
Application.DisplayAlerts = True
End Sub
Пока что это еще не полная версия макроса поэтому перед тем как его проверить нам все еще вручную необходимо выделить первый диапазон A2:D4. После чего можно выполнить нашу первую версию макроса.
Запуск макроса для объединения ячеек
Выбираем инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
В появившемся диалоговом окне выделяем значение «ObedenitVertikal» и нажимаем на кнопку «Выполнить».
Потом снова вручную выделите новый диапазон A5:D9 и повторно выполните тот же макрос. Ячейки будут выделены как показано ниже на рисунке:
В начале кода определены 3 переменные: две из них выполняют функцию счетчика, а третья служит для временного хранения текстового содержания ячеек. Счетчик первой переменной в цикле проходит по очереди все столбцы выделенного диапазона ячеек. В каждом таком столбце в текстовую переменную записывается текст, который содержится в первой ячейке каждого выделенного столбца. Второй счетчик идет по строкам каждого столбца и дописывает в текстовую переменную текстовые значения из остальных ячеек каждого текущего столбца выделенного диапазона – сверху вниз. Тексты, взятые из отдельных ячеек разделяться символом обрыва строки.
Символ обрыва строки вставлен с помощью функции Chr(10). Каждый вводимый символ из клавиатуры имеет свой код ASCII. Если введем код 10 в качестве аргумента для функции Chr(), тогда она будет возвращать символ обрыва строки. Такой же код ASCII на клавиатуре вызывается клавишей Enter для обрыва строки во всех текстовых редакторах.
Потом остальной код макроса объединяет все ячейки столбцов в выделенном диапазоне, а потом заполняет их текстом из текстовой переменной. Чтобы не появлялось предупреждающее сообщение об объединении ячеек, в начале кода программы макроса отключаем отображение сообщений в Excel средствами программирования. Для этой цели используем свойство: Application.DisplayAlerts = Fale. После выполнения кода макроса изменяем значение свойства на True, чтобы в дальнейшем процессе работы с программой Excel все сообщения предупреждений (Alerts) имели возможность отображаться.
Внимание! Если ячейки выделенного диапазона будут содержать формулы, то после выполнения макроса эти формулы будут заменены на текст. В результате после объединения ячеек макросом, формулы могут быть утеряны.
Модернизация и настройка кода макроса для объединения ячеек
Если нам нужно изменить текст разделяющий отдельные строки символов содержащийся в целых ячейках, то можно вписать другой код символа, текст или несколько текстов соединенных символом амперсантом (&). Допустим мы хотим вставить между двумя символами разрыва строки текст, состоящий из пяти тире «——». Тогда данную строку следует модифицировать следующим образом:
intext = intext & Chr(10) & “——” & Chr(10) & Selection.Cells(j, i)
Если в объединенной ячейке мы хотим всегда вставлять только текст из первой ячейки в выделенном столбце (без текстов, записанных в остальных ячейках), тогда удалим или закомментируем переменную второго счетчика и часть кода второго цикла:
Если нам нужно чтобы выполнять макрос после выделения нескольких диапазонов (с удержанием клавиши CTRL), тогда можно добавить еще одну переменную, которая будет дополнять функцию счетчика:
Dim k As Long
Перед первым циклом добавим новую строку с кодом:
For k = 1 To Selection.Areas.Count
А после последнего цикла добавим строку конца нового цикла:
Next
Соответственно добавим новый отступ, чтобы код был более читабельным. Кроме того, после всех изменений для объекта Selection добавим ссылку на диапазон:
Selection.Areas(k)
Полная новая версия макроса для объедения ячеек выделенных нескольких диапазонов, выглядит так:
Sub ObedenitVertikal()
Dim i As Long
Dim j As Long
Dim k As Long
Dim intext As String
Application.DisplayAlerts = False
For k = 1 To Selection.Areas.Count
For i = 1 To Selection.Areas(k).Columns.Count
intext = Selection.Areas(k).Cells(1, i)
For j = 2 To Selection.Areas(k).Rows.Count
intext = intext & Chr(10) & Selection.Areas(k).Cells(j, i)
Next
Selection.Areas(k).Columns(i).Merge
Selection.Areas(k).Cells(1, i) = intext
Next
Next
Application.DisplayAlerts = True
End Sub
Тепер выделяем 2 диапазона подряд A2:D4, A5:D8, A с нажатой клавишей CTRL на клавиатуре:
В результате получаем идентичный вид таблицы с объединенными ячейками:
Читайте также:
Как разъединить объединенные ячейки в Excel используя макрос.
Как объединить столбцы в Excel используя макрос.
Если выполнить первую версию макроса (без всех этих изменений), для многократного выделения диапазонов с нажатой клавишей CTRL, то объединение строк по столбцам будет выполнено только для первого диапазона.
vba — Регулировка ширины таблицы в соответствии с разметкой страницы в слове vba
Я хочу автоматизировать утомительную часть моей работы с Visual Basic в Word. Я работаю с документами длинных слов, и таблицы должны быть определенной ширины (6,5 дюйма [или 468 точек] в портретной ориентации и 9 дюймов [или 648 точек] в альбомной ориентации). Пока у меня есть
Sub TableResize()
Dim oTbl As Table
For Each oTbl In ActiveDocument.Tables
oTbl.AutoFitBehavior wdAutoFitFixed
With ActiveDocument.PageSetup
oTbl.PreferredWidthType = wdPreferredWidthPoints
oTbl.PreferredWidth = 468
oTbl.Rows.Alignment = wdAlignRowCenter
End With
Next oTbl
End Sub
Это прекрасно работает для установки ВСЕХ таблиц на 6,5 дюйма и выравнивания их по центру, но это, конечно же, приводит к тому, что таблицы на страницах ориентированы по горизонтали. Может кто-нибудь помочь мне установить ширину таблицы в соответствии с макетом страницы?
Спасибо Бен
0
Ben
24 Июн 2020 в 20:30
3 ответа
Лучший ответ
Sub Demo()
Application.ScreenUpdating = False
Dim Tbl As Table
For Each Tbl In ActiveDocument.Tables
With Tbl
.AllowAutoFit = False
.Rows.Alignment = wdAlignRowCenter
.PreferredWidthType = wdPreferredWidthPoints
If .Range.Sections.First.PageSetup.Orientation = wdOrientPortrait Then
.PreferredWidth = InchesToPoints(6.5)
Else
.PreferredWidth = InchesToPoints(9)
End If
End With
Next
Application.ScreenUpdating = True
End Sub
0
macropod
24 Июн 2020 в 23:00
Хотя вы можете проверить ширину каждой страницы и соответствующим образом настроить таблицу, это проще:
Sub TableResize()
Dim oTbl As Table
For Each oTbl In ActiveDocument.Tables
With oTbl
.AutoFitBehavior wdAutoFitFixed
.PreferredWidthType = wdPreferredWidthPercent
.PreferredWidth = 100
.Rows.Alignment = wdAlignRowCenter
End With
Next oTbl
End Sub
Я также немного почистил ваш код.
0
John Korchok
24 Июн 2020 в 18:12
Если вы измените свой .PreferredWidthType на wdPreferredWidthPercent, его размер будет пропорционален ширине страницы. Вам нужно всего лишь изменить две строки вашего кода:
oTbl.PreferredWidthType = wdPreferredWidthPoints
oTbl.PreferredWidth = 468
Заменить следующим:
oTbl.PreferredWidthType = wdPreferredWidthPercent
oTbl.PreferredWidth = 50 ' Change with suitable value
Однако вместо 50 вам нужно потренироваться и перейти на значение, соответствующее вашим требованиям.
0
arshad
24 Июн 2020 в 18:07
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(строка) | Преобразует буквенные символы строки в верхний регистр. |
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 для работы с текстом
Функции VBA для работы с текстом
Главная » Функции VBA »
28 Апрель 2011 Дмитрий 314679 просмотров
- ASC()— эта функция позволяет вернуть числовой код для переданного символа. Например, ASC(
"D"
) вернет 68. Эту функцию удобно использовать для того, чтобы определить следующую или предыдущую букву. Обычно она используется вместе с функцией Chr(), которая производит обратную операцию — возвращает символ по переданному его числовому коду.Варианты этой функции — AscB() и AscW():- AscB() — возвращает только первый байт числового кода для символа.
- AscW() — возвращает код для символа в кодировке Unicode
- Chr() — возвращает символ по его числовому коду. Может использоваться в паре с функцией Asc(), но чаще всего её применяют, когда нужно вывести служебный символ (например кавычки —
"
), т.к. кавычки просто так в VBA-коде не ввести(нужно ставить двойные). Я обычно именно эту функцию и использую.Dim sWord As String sWord = Chr(34) & "Слово в кавычках" & Chr(34)
Dim sWord As String
sWord = Chr(34) & «Слово в кавычках» & Chr(34)Есть варианты этой функции — ChrB() и ChrW(). Работают аналогично таким же вариантам для функции Asc().
- InStr() и InStrRev()— одна из самых популярных функций. Позволяет обнаружить в теле строковой переменной символ или последовательность символов и вернуть их позицию. Если последовательность не обнаружена, то возвращается 0.
Dim sStr As String sStr = "w" If InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Then MsgBox "Искомое слово присутствует!" Else MsgBox "Искомое слово отсутствует!" End If
Dim sStr As String
sStr = «w»
If InStr(1, «Hello, World!», sStr, vbTextCompare) > 0 Then
MsgBox «Искомое слово присутствует!»
Else
MsgBox «Искомое слово отсутствует!»
End IfРазница функций в том, что InStr() ищет указанное слово от начала строки, а InStrRev() с конца строки
- Left(), Right(), Mid()— возможность взять указанное вами количество символов из существующей строковой переменной слева, справа или из середины соответственно.
Dim sStr As String sStr = "Hello, World!" MsgBox Mid(sStr, 1, 5)
Dim sStr As String
sStr = «Hello, World!»
MsgBox Mid(sStr, 1, 5) - Len() — возможность получить число символов в строке. Часто используется с циклами, операциями замены и т.п.
- LCase() и UCase() — перевести строку в нижний и верхний регистры соответственно. Часто используется для подготовки значения к сравнению, когда при сравнении регистр не важен (фамилии, названия фирм, городов и т.п.).
- LSet() и RSet() — возможность заполнить одну переменную символами другой без изменения ее длины (соответственно слева и справа). Лишние символы обрезаются, на место недостающих подставляются пробелы.
- LTrim(), RTrim(), Trim() — возможность убрать пробелы соответственно слева, справа или и слева, и справа.
- Replace()— возможность заменить в строке одну последовательность символов на другую.
Dim sStr As String sStr = "Hello, World!" MsgBox Replace(sStr, "Hello", "Bay")
Dim sStr As String
sStr = «Hello, World!»
MsgBox Replace(sStr, «Hello», «Bay») - Space() — получить строку из указанного вами количества пробелов;
Еще одна похожая функция — Spc(), которая используется для форматирования вывода на консоль. Она размножает пробелы с учетом ширины командной строки. - StrComp() — возможность сравнить две строки.
- StrConv() — возможность преобразовать строку (в Unicode и обратно, в верхний и нижний регистр, сделать первую букву слов заглавной и т.п.):
Dim sStr As String sStr = "Hello, World!" MsgBox StrConv("Hello, World!", vbUpperCase)
Dim sStr As String
sStr = «Hello, World!»
MsgBox StrConv(«Hello, World!», vbUpperCase)В качестве второго параметра параметра могут применяться константы:
- vbUpperCase: Преобразует все текстовые символы в ВЕРХНИЙ РЕГИСТР
- vbLowerCase: Преобразует все текстовые символы в нижний регистр
- vbProperCase: Переводит первый символ каждого слова в Верхний Регистр
- *vbWide: Преобразует символы строки из однобайтовых в двухбайтовые
- *vbNarrow: Преобразует символы строки из двухбайтовых в однобайтовые
- **vbKatakana: Преобразует символы Hiragana в символы Katakana
- **vbHiragana: Преобразует символы Katakana в символы Hiragana
- ***vbUnicode: Преобразует строку в Юникод с помощью кодовой страницы системы по умолчанию
- ***vbFromUnicode: Преобразует строку из Юникод в кодовую страницу системы по умолчанию
* применимо для локализацией Дальнего востока
** применимо только для Японии
*** не поддерживается операционными системами под управлением Macintosh - StrReverse() — «перевернуть» строку, разместив ее символы в обратном порядке. Функция работает только начиная от Excel 2000 и выше. Пример использования функции, а так же иные методы переворачивания слова можно посмотреть в этой статье: Как перевернуть слово?
- Tab() — еще одна функция, которая используется для форматирования вывода на консоль. Размножает символы табуляции в том количестве, в котором вы укажете. Если никакое количество не указано, просто вставляет символ табуляции. Для вставки символа табуляции в строковое значение можно также использовать константу vbTab.
- String() — позволяет получить строку из указанного количества символов (которые опять-таки указываются Вами). Обычно используются для форматирования вывода совместно с функцией Len().
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Юридическая информация
Так же с этой статьей читают:
Наши партнеры
Спасибо за сообщение
Ваше сообщение было получено и отправлено администратору.
Функция Chr (Visual Basic для приложений)
- 2 минуты на чтение
В этой статье
Возвращает строку, содержащую символ, связанный с указанным кодом символа.
Синтаксис
Chr (код )
ChrB (код )
ChrW (код код )
Обязательный аргумент charcode — это Long, идентифицирующий символ.
Замечания
Числа от 0 до 31 такие же, как стандартные непечатаемые коды ASCII. Например, Chr (10) возвращает символ перевода строки. Нормальный диапазон для кода — 0–255. Однако в системах DBCS фактический диапазон для кода составляет -32768–65535.
Примечание
Функция ChrB используется с байтовыми данными, содержащимися в строке . Вместо возврата символа, который может быть одним или двумя байтами, ChrB всегда возвращает один байт.
Функция ChrW возвращает строку , содержащую символ Юникода, за исключением платформ, где Юникод не поддерживается, и в этом случае поведение идентично функции Chr .
Примечание
Visual Basic для Macintosh не поддерживает строки Unicode. Следовательно, ChrW ( n ) не может возвращать все символы Unicode для значений n в диапазоне 128–65 535, как это происходит в среде Windows.Вместо этого ChrW ( n ) пытается «наилучшее предположение» для значений Unicode n больше 127. Следовательно, вам не следует использовать ChrW в среде Macintosh.
Функции Asc (), AscB () и AscW () являются противоположностью Chr (), ChrB () и ChrW (). Функции Asc () преобразуют строку в целое число.
Пример
В этом примере используется функция Chr для возврата символа, связанного с указанным кодом символа.
Дим MyChar
MyChar = Chr (65) 'Возвращает A.
MyChar = Chr (97) 'Возвращает.
MyChar = Chr (62) 'Возвращает>.
MyChar = Chr (37) 'Возвращает%.
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
Набор символов (0-127)
- 2 минуты на чтение
В этой статье
Код | Персонаж | Код | Персонаж | Код | Персонаж | Код | Персонаж |
---|---|---|---|---|---|---|---|
0 | 32 | [пробел] | 64 | @ | 96 | ` | |
1 | 33 | ! | 65 | А | 97 | a | |
2 | 34 | « | 66 | B | 98 | б | |
3 | 35 | # | 67 | С | 99 | с | |
4 | 36 | $ | 68 | D | 100 | д | |
5 | 37 | % | 69 | E | 101 | e | |
6 | 38 | и | 70 | F | 102 | f | |
7 | 39 | ‘ | 71 | G | 103 | г | |
8 | * * | 40 | ( | 72 | H | 104 | ч |
9 | * * | 41 | ) | 73 | I | 105 | и |
10 | * * | 42 | * | 74 | Дж | 106 | j |
11 | 43 | + | 75 | К | 107 | к | |
12 | 44 | , | 76 | L | 108 | л | |
13 | * * | 45 | – | 77 | M | 109 | метр |
14 | 46 | . | 78 | N | 110 | n | |
15 | 47 | / | 79 | O | 111 | или | |
16 | 48 | 0 | 80 | -п. | 112 | п. | |
17 | 49 | 1 | 81 | Q | 113 | q | |
18 | 50 | 2 | 82 | R | 114 | r | |
19 | 51 | 3 | 83 | S | 115 | с | |
20 | 52 | 4 | 84 | Т | 116 | т | |
21 | 53 | 5 | 85 | U | 117 | u | |
22 | 54 | 6 | 86 | В | 118 | v | |
23 | 55 | 7 | 87 | Вт | 119 | Вт | |
24 | 56 | 8 | 88 | Х | 120 | х | |
25 | 57 | 9 | 89 | Y | 121 | y | |
26 | 58 | : | 90 | Z | 122 | z | |
27 | 59 | ; | 91 | [ | 123 | { | |
28 | 60 | < | 92 | \ | 124 | | | |
29 | 61 | = | 93 | ] | 125 | } | |
30 | 62 | > | 94 | ^ | 126 | ~ | |
31 | 63 | ? | 95 | _ | 127 |
Значения с пробелами являются управляющими символами, а не символами, отображаемыми или печатаемыми Windows.
Примечание
Значения 8, 9, 10 и 13 преобразуются в символы возврата, табуляции, перевода строки и возврата каретки соответственно. У них нет графического представления, но, в зависимости от приложения, они могут влиять на визуальное отображение текста.
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
Функция Asc (Visual Basic для приложений)
- 2 минуты на чтение
В этой статье
Возвращает целое число, представляющее код символа, соответствующий первой букве в строке.
Синтаксис
по возрастанию ( строка )
Обязательная строка аргумент — любое допустимое строковое выражение.Если строка не содержит символов, возникает ошибка времени выполнения.
Замечания
Диапазон значений возврата составляет 0–255 в системах без DBCS, но -32768–32767 в системах с DBCS.
Примечание
Функция AscB используется с байтовыми данными, содержащимися в строке. Вместо того, чтобы возвращать код символа для первого символа, AscB возвращает первый байт. Функция AscW возвращает код символа Unicode, за исключением платформ, где Unicode не поддерживается, и в этом случае поведение идентично функции Asc .
Примечание
Visual Basic для Macintosh не поддерживает строки Unicode. Следовательно, AscW ( n ) не может возвращать все символы Unicode для значений n в диапазоне 128–65 535, как это происходит в среде Windows. Вместо этого AscW ( n ) пытается «наилучшее предположение» для значений Unicode n больше 127. Следовательно, вам не следует использовать AscW в среде Macintosh.
Функции Chr (), ChrB () и ChrW () являются противоположностью Asc (), AscB () и AscW (). Функции Chr () преобразуют целое число в строку символов.
Пример
В этом примере используется функция Asc для возврата кода символа, соответствующего первой букве в строке.
Dim MyNumber
MyNumber = Asc ("A") 'возвращает 65.
MyNumber = Asc ("a") 'Возвращает 97.
MyNumber = Asc ("Apple") 'возвращает 65.
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
Набор символов (128-255)
- 2 минуты на чтение
В этой статье
Код | Персонаж | Код | Персонаж | Код | Персонаж | Код | Персонаж |
---|---|---|---|---|---|---|---|
128 | € | 160 | [пробел] | 192 | À | 224 | до |
129 | 161 | ¡ | 193 | Á | 225 | á | |
130 | ‚ | 162 | ¢ | 194 | Â | 226 | â |
131 | ƒ | 163 | £ | 195 | Ã | 227 | г |
132 | „ | 164 | ¤ | 196 | Ä | 228 | ä |
133 | … | 165 | ¥ | 197 | Å | 229 | å |
134 | † | 166 | ¦ | 198 | Æ | 230 | æ |
135 | ‡ | 167 | § | 199 | Ç | 231 | ç |
136 | ˆ | 168 | ¨ | 200 | È | 232 | и |
137 | ‰ | 169 | © | 201 | É | 233 | é |
138 | Š | 170 | ª | 202 | Ê | 234 | ê |
139 | ‹ | 171 | « | 203 | Ë | 235 | ë |
140 | Œ | 172 | ¬ | 204 | Ì | 236 | м |
141 | 173 | 205 | Í | 237 | – | ||
142 | Ž | 174 | ® | 206 | Î | 238 | – |
143 | 175 | ¯ | 207 | Ï | 239 | • | |
144 | 176 | ° | 208 | Ð | 240 | ð | |
145 | ‘ | 177 | ± | 209 | Ñ | 241 | — |
146 | ’ | 178 | ² | 210 | Ò | 242 | шт |
147 | “ | 179 | ³ | 211 | Ó | 243 | — |
148 | ” | 180 | ´ | 212 | Ô | 244 | ô |
149 | • | 181 | µ | 213 | Õ | 245 | х |
150 | – | 182 | ¶ | 214 | Ö | 246 | ö |
151 | – | 183 | · | 215 | × | 247 | ÷ |
152 | ~ | 184 | ¸ | 216 | Ø | 248 | ø |
153 | ™ | 185 | ¹ | 217 | Ù | 249 | ù |
154 | š | 186 | º | 218 | Ú | 250 | ú |
155 | › | 187 | » | 219 | Û | 251 | û |
156 | œ | 188 | ¼ | 220 | Ü | 252 | ü |
157 | 189 | ½ | 221 | Ý | 253 | ý | |
158 | × | 190 | ¾ | 222 | Þ | 254 | þ |
159 | Ÿ | 191 | ¿ | 223 | ß | 255 | ÿ |
Символ 160 — это непрерывный пробел.Символ 173 — это мягкий дефис. Некоторые символы не поддерживаются Microsoft Windows (символы 129, 141, 143, 144 и 157).
Значения в таблице являются значениями по умолчанию для Windows. Однако значения в наборе символов ANSI выше 127 определяются кодовой страницей вашей операционной системы.
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
строк и символов VBA — символы ASCII
символов ASCII
ASCII в настоящее время является стандартом для связи между числовым значением и типом символа.
Примечание: символы 1-9 и 11-31 (?? 128-159) не поддерживаются Windows
1-9 | 58 | : | 87 | W | 116 | t | 145 | ‘ | 174 | ® | 203 | Ë | 9144 232 | Ë | 232 | 9014 232 | 59 | ; | 88 | X | 117 | u | 146 | ’ | 175 | ¯ | 43 | 4 9142 9014 9014 9142 9014 9014 9142 9014 9014 | ||||||||||||||||||||||
11-31 | 60 | 89 | Y | 118 | v | 147 | 44 | Í | 234 | ê | ||||||||||||||||||||||||||||||||||||||||
32 | 61 | = | 9014 9141 9014 9014 9014 9014 9014 9142 9014 | ” | 177 | ± | 206 | Î | 9144 3235 | ë | ||||||||||||||||||||||||||||||||||||||||
33 | ! | 62 | > | 91 | [ | 120 | x | 149 | 149 | • | 2 9014 9014 9014 901 9142 9014 | 9014 901 | 236 | ì | ||||||||||||||||||||||||||||||||||||
34 | « | 63 | 92 | \ | 43 121 1 | 150 9014 9014 9014 9014 9014 9014 179 | ³ | 208 | Ð | 237 | í | |||||||||||||||||||||||||||||||||||||||
35 | # | 9014 9014 9014 9142 122 | z | 151 | — | 180 | ´ | 209 | Ñ | 238 | î | |||||||||||||||||||||||||||||||||||||||
36 | $ | 65 | A | 9014 9014 9014 9142 | 152 | ~ | 181 | µ | 210 | Ò | 239 | ï | _ | 124 | | | 153 | ™ | 182 | ¶ | 211 | Ó | 240 | ð | 96 | ` | 125 | } | 154 | š | 183 | · | 9014 9014 9014 9014 9014 9014 9014 9014 | ||||||||||||||||||
39 | ‘ | 68 | D | 97 | a | 126 | ~ | 9014 9014 9014 9014 9014 9014 9014 9014 9014 213 | Õ | 242 | ò | |||||||||||||||||||||||||||||||||||||||
40 | ( | 69 | E | 98 | b | 127 | 156 | œ | 9014 9014 9014 9142 | 9014 9014 9014 9142 | 9014 9014 9014 243 | ó | ||||||||||||||||||||||||||||||||||||||
41 | ) | 70 | F | 99 | c | 9014 9014 9014 9014 9014 9014 9014 186 | º | 215 | × | 244 | ô | |||||||||||||||||||||||||||||||||||||||
42 | * | 9014 9014 9014 9014 9014 9014 9014 71 9142 | 9014 71 129 | 158 | ž | 187 | » | 216 | Ø | 245 | x | |||||||||||||||||||||||||||||||||||||||
43 | + | 72 | H | 9014 9014 101 9141 13014 9014 9014 9014 9142 | 159 | Ÿ | 188 | ¼ | 217 | Ù | 246 | ö | f | 131 | ƒ | 160 | 189 | ½ | 218 | 9014 9014 9014 9141 9014 9141 9014 9014 45 | — | 74 | J | 103 | г | „ | 161 | ¡ | 190 | ¾ | 219 | Û | 24814 9014 9014 9014 9014 | 9014 9014 9141 9014 | 75 | K | 104 | h | 133 | … | 162 | ¢ | 9014 9014 9014 9014 914 914 9014 9014 249 | ù | ||||||
47 | / | 76 | L | 105 | i | 13414314 9014 9014 9142 9014 9014 192 | À | 221 | Ý | 250 | ú | |||||||||||||||||||||||||||||||||||||||
48 | 0 | 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 135 | ‡ | 164 | ¤ | 193 | Á | Þ | 251 | û | ||||||||||||||||||||||||||||||||||||||||
49 | 1 | 78 | N | 9014 9014 107 | 9014 9014 | 165 | ¥ | 194 | Â | 223 | ß | 252 | ü | 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 | 108 | л | 137 | ‰ | 166 | ¦ | 195 | Ã | 221 9014 9014 9142 9014 9142 9014 | 2 9014 9014 9142 9014 | 2 9014 | 51 | 3 | 80 | P | 109 | м | Š | 167 | § | 196 | Ä | 225 | á | 254 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 | 81 | Q | 110 | n | 139 | ‹ | 168 | ¨ | 19714 9141 9014 9014 9014 9014 9014 9014 9014 9014 255 | ÿ | |
53 | 5 | 82 | R | 111 | o | 140 9141 9014 9014 9014 9014 9014 198 | Æ | 227 | ã | |||||||||||||||||||||||||||||||||||||||||
5 4 | 6 | 83 | S | 112 | п | 141 | 170 | 41 9141 9142 9014 9142 | 41 9142 9014 9142 | ä | ||||||||||||||||||||||||||||||||||||||||
55 | 7 | 84 | T | 113 | 200 | È | 229 | å | ||||||||||||||||||||||||||||||||||||||||||
56 | 8 | 85 | 914 9014 | 172 | ¬ | 201 | É | 230 | æ | |||||||||||||||||||||||||||||||||||||||||
57 | 9 | 86 | В | 115 | 4 с | 9014 9143 | 202 | Ê | 231 | ç |
Полезные константы
Chr14 914 901 9014 символ | 9014 символ (Константы.vbTab) | ||
Chr (10) | Символ перевода строки | ||
Chr (11) | Ручной разрыв строки (Shift + Enter) | ||
Chr (12) | Ручной разрыв страницы | Комбинация возврата каретки и перевода строки | |
Chr (13) + Chr (10) | Символ новой строки | ||
Chr (14) | разрыв столбца | ||
Chr (30) | Неразрывный дефис | ||
Chr (31) | Необязательный дефис | ||
Chr (32) | Пробел | ||
Chr (34) | Кодовое обозначение | 160) | Неразрывное пространство |
---|
Необходимо проверить и подтвердить ШРИФТ !!!
Компьютеры используют числовые значения для всех данных.
Текст представлен путем присвоения числового значения каждой букве, цифре и символу.
Все компьютеры должны иметь возможность использовать одни и те же коды.
Первым широко принятым стандартом был набор символов ASCII, который использует значения от 0 до 127 для представления букв, цифр и часто используемых знаков препинания и символов.
Например, строчные буквы az представлены значениями 97-122
Код ANSI (Американский национальный институт стандартов) расширен за счет добавления (128-255
ANSI также известен как расширенный ASCII.
коды ASCII 0-31 представляют не печать символов.
Вскоре стало понятно, что 255 значений ASCII недостаточно для того количества символов, с которым компьютер должен был работать.
В результате был создан стандарт Unicode с использованием значений 0-65 535
В настоящее время назначены только 39 000 из этих кодов.
VBA предоставляет функции для работы как с ASCII, так и с Unicode.
Windows поддерживает Unicode, но это будет зависеть от ваших региональных настроек.
ASC — возвращает код ASCII для символа
ASCW — возвращает Unicode для символа
ASCB — возвращает первый байт Unicode для символа
© 2021 Better Solutions Limited.Все права защищены. © 2021 Better Solutions Limited TopPrevNext
Функция VBA CHR | Объяснение с примерами синтаксиса
Функция VBA CHR классифицируется как функция текста / строки в VBA. Это встроенная функция в MS Office Excel VBA. Эта функция возвращает символ данного значения ASCII (или кода символа). Значение ASCII должно быть от 0 до 255. ASCII означает Американский стандартный код для обмена информацией. Имеет один входной параметр. Функцию CHR можно использовать только в VBA.Мы не можем использовать эту функцию как функцию рабочего листа. Эту функцию можно использовать либо в процедуре, либо в функции в окне редактора VBA в Excel. Мы можем использовать эту функцию VBA CHR любое количество раз в любом количестве процедур или функций. В следующем разделе мы узнаем, каков синтаксис и параметры функции CHR, где мы можем использовать эту функцию VBA CHR и примеры в реальном времени.
Содержание
Синтаксис функции VBA CHR
Синтаксис функции VBA CHR:
Chr (CharCode)
Функция VBA Chr возвращает строку для данного кода символа.
Параметры или аргументы
Функция CHR имеет один входной (целочисленный) параметр или аргумент.
Где
CharCode: Обязательный параметр. CharCode — это код символа, для которого мы хотим отобразить соответствующий символ ASCII.
Где мы можем применить или использовать функцию VBA CHR?
Мы можем использовать эту функцию VBA CHR в MS Office 365, MS Excel 2016, MS Excel 2013, 2011, Excel 2010, Excel 2007, Excel 2003, Excel 2016 для Mac, Excel 2011 для Mac, Excel Online, Excel для iPhone, Excel для iPad, Excel для планшетов с Android и Excel для мобильных устройств с Android.
Пример 1. Отображение символа ASCII «65»
Вот простой пример функции VBA CHR. Этот пример макроса ниже принимает «65» в качестве входных данных и генерирует выходные данные с указанным значением символа ASCII.
'Отобразить символ ASCII' 65 ' Sub VBA_CHR_Function_Ex1 () Dim sOutput как строка, iInput_Val как целое число iInput_Val = 65 sOutput = Chr (iInput_Val) MsgBox "Символом ASCII" 65 "является:" & sOutput, vbInformation, "Функция VBA CHR" Конец подписки
Выходные данные
: Вот снимок экрана первого примера выходных данных.
Пример 2. Отображение символа ASCII ’97’
Вот еще один пример функции VBA CHR. Этот пример макроса ниже принимает «97» в качестве входных данных и генерирует выходные данные с указанным значением символа ASCII.
'Отобразить символ ASCII' 97 ' Sub VBA_CHR_Function_Ex2 () Dim sOutput как строка, iInput_Val как целое число iInput_Val = 97 sOutput = Chr (iInput_Val) MsgBox "Символ ASCII" 97 ":" & sOutput, vbInformation, "Функция VBA CHR" Конец подписки
Выходные данные
: Вот скриншот второго примера выходных данных.
Пример 3. Отображение символа ASCII ’64’
Вот простой пример функции VBA CHR. Этот пример макроса ниже принимает «64» в качестве входных данных и генерирует выходные данные с указанным значением символа ASCII.
'Отобразить символ ASCII' 64 ' Sub VBA_CHR_Function_Ex3 () Dim sOutput как строка, iInput_Val как целое число iInput_Val = 64 sOutput = Chr (iInput_Val) MsgBox "Символ ASCII" 64 ":" & sOutput, vbInformation, "Функция VBA CHR" Конец подписки
Выход:
Вот снимок экрана третьего примера выходных данных.
Пример 4. Отображение символа ASCII «270»
Вот простой пример функции VBA CHR. Этот макрос, приведенный ниже, принимает в качестве входных данных «270» и генерирует ошибку. Поскольку указанный ввод может быть от 0 до 255. В противном случае возвращается ошибка.
Описание ошибки: Ошибка времени выполнения — недопустимый вызов процедуры или аргумент
'Отобразить символ ASCII' 270 ' Sub VBA_CHR_Function_Ex4 () Dim sOutput как строка, iInput_Val как целое число iInput_Val = 270 sOutput = Chr (iInput_Val) MsgBox "Символ ASCII" 270 ":" & sOutput, vbInformation, "Функция VBA CHR" Концевой переводник
Выходные данные
: Вот снимок экрана четвертого примера выходных данных.
Инструкции по использованию макросов
Вот пошаговые инструкции по использованию функции VBA CHR в Excel VBA.
- Откройте книгу Excel.
- Нажмите Alt + F11, чтобы открыть окно редактора VBA.
- Перейдите в меню «Вставка» и щелкните модуль из доступных опций.
- Скопируйте указанные выше макросы в редактор VBA.
- Выберите любую процедуру из приведенных выше кодов и нажмите «Выполнить» или используйте сочетание клавиш «F5».
Таблица ASCII
Щелкните ссылку ниже, чтобы просмотреть таблицу ASCII.
Таблица ASCII
Список функций VBA:
Щелкните ссылку ниже, чтобы вернуться к просмотру всего списка функций VBA.
Список функций VBA
Приложение A: Коды символов ASCII
Это приложение представляет собой список кодов символов 255 ASCII (Американский стандартный код для обмена информацией), которые использует Excel. Они работают вместе с функциями Asc и Chr . Asc даст номер ASCII символа, а Chr даст символ на основе номера ASCII.
Все эти символы могут использоваться для создания текстовых строк с помощью функции Chr (см. Главу 5). Вот пример, который создаст строку ‚« ABC ‚½:
MsgBox Chr (65) & Chr (66) & Chr (67)
Вы также можете вставить символы возврата каретки и перевода строки, чтобы ваш текст переносился на правильный момент.
В таблице символ _ указывает на отсутствие отображаемого символа.
Код ASCII | Символ | |||
---|---|---|---|---|
1 | _ | |||
2 | ||||
4 | _ | |||
5 | _ | |||
6 | _ | |||
8 | _ | |||
9 | Tab | |||
10 | Линейный перевод | |||
Домашняя страница | ||||
12 | Подача формы | |||
13 | Возврат каретки | |||
14 | 2 | _ | ||
16 | _ | |||
17 | _ | |||
18 | _ 9007 | |||
20 | _ | |||
21 | _ | |||
22 | _ | _ | ||
24 | _ | |||
25 | _ | |||
26 | ||||
26 | ||||
26 | ||||
_ | ||||
28 | _ | |||
29 | _ | |||
30 | 9002 | 30 | _ | |
32 | Пространство | |||
33 | ! | |||
34 | « | |||
35 | # | |||
36 | $ | 14 | ||
38 | и | |||
39 | ‘ | |||
40 | ( | |||
9014 ) | 42 | * | ||
43 | + | |||
44 | , | |||
45315 — | ||||
46 | . | |||
47 | / | |||
48 | ||||
49 | 1 | |||
9011 9011 | ||||
9001 51 | 3 | |||
52 | 4 | |||
53 | 5 | |||
54 | ||||
54 | ||||
54 | ||||
54 | ||||
7 | ||||
56 | 8 | |||
57 | 9 | |||
58 | 9014 : | |||
59 | ; | |||
60 | < | |||
61 | = | |||
62 | > | |||
64 | @ | |||
65 | A | |||
66 | B | |||
68 | D | |||
69 | E | |||
70 | F | |||
F | ||||
71 | 72 | H | ||
73 | I | |||
74 | J | |||
75 5 9014 K2 | 75 5 9014 5 | |||
76 | L | |||
77 | M | |||
78 | N | |||
80 | P | |||
81 | Q | |||
82 | R | |||
9014 | ||||
83 | 84 | T | ||
85 | U | |||
86 | V | |||
87 5 | 87 5 | |||
88 | X | |||
89 | Y | |||
90 | Z | |||
Z | ||||
92 | \ | |||
93 | ] | |||
94 | ^ | |||
` | ||||
97 | a | |||
98 | b | |||
99 | ||||
100 | d | |||
101 | e | |||
102 | f | |||
104 | ч | |||
105 | i | |||
106 | j | |||
108 | л | |||
109 | м | |||
110 | n | |||
111 | ||||
112 | p | |||
113 | q | |||
114 | r | |||
116 | т | |||
117 | u | |||
118 | v | |||
9014 | ||||
9014 | 120 | x | ||
121 | y | |||
122 | z | |||
123 5 | 123 5 | |||
124 | ||||
125 | } | |||
126 | ~ | 128 | ‚ | |
129 | _ | |||
130 | ‚ | |||
‚ | ||||
133 | … | |||
134 | ‚ | |||
135 | ‚ | |||
136 | ‹ 137142 ° | |||
138 | ||||
139 | ‚ | |||
140 | 900 | 142 | ½ | |
143 | _ | |||
144 | _ | |||
146 | ‘ | |||
147 | ‚ | |||
148 | ‚ ‚133 ½ | |||
150 | ‚ | |||
151 | ‚ | |||
152 | 3 9142 | |||
154 | ||||
155 | ‚ | |||
156 | ||||
157 | ||||
157 | ||||
157 | ||||
¾ | ||||
159 | ||||
160 | ‚ | |||
161 | 2 | 2 | ||
163 | ‚& фунт; | |||
164 | ‚ | |||
165 | ‚ | |||
166 | ‚ | |||
‚ | ||||
168 | ‚ | |||
169 | ‚ | |||
170 | ‚ | |||
172 | ‚ | |||
173 | ‚ | |||
174 | ‚ | |||
‚ | ||||
176 | ‚ ° | |||
177 | ‚± | |||
178 | 914 ² | 14 | ‚³ | |
180 | ‚ | |||
181 | ‚µ | |||
182 | ||||
182 | ‚· | |||
184 | ‚ | |||
185 | ‚ | |||
186 | ||||
186 | ||||
>> | ||||
188 | ‚ | |||
189 | ‚ ½ | |||
1 | ||||
1 | 191 | ‚ | ||
192 | ||||
193 | ½ | |||
2 | ||||
2 | ƒ ‘ | |||
196 | ƒ | |||
197 | ƒ | |||
1983 | ||||
1983 | ƒ | |||
200 | ƒ | |||
201 | ƒ ° | |||
202 5 | ||||
202 5 9014 203 | ƒ¹ | |||
204 | ƒ ‘ | |||
205 | ƒ½ | |||
½ | ||||
2 206 3 | ||||
2 206 3 | ƒ½ | |||
208 | ½ | |||
209 | ƒ˜ | |||
21011 | ||||
2107 9014 100 | 211 | ƒ | ||
212 | ƒ | |||
213 | ƒ | |||
215 | ƒ ” | |||
216 | ƒ | |||
217 | ƒ | |||
219 | ƒ | |||
220 | ƒ “ | |||
221 | ƒ½ | |||
22211 | ||||
22211 2 | ||||
223 | ƒ | |||
224 | ƒ | |||
225 | ƒ | ƒ | ||
227 | ƒ | |||
228 | ƒ | |||
229 | ƒ | |||
231 | Ĥ | |||
232 | ƒ | |||
233 | ƒ | |||
2 | ||||
2 | 015 | |||
235 | ƒ « | |||
236 | ƒ | |||
237 | ||||
239 | ƒ | |||
240 | ƒ ° | |||
241 | ƒ ± | |||
ƒ ± | ||||
243 | ƒ³ | |||
244 | ƒ | |||
245 | ĵ3 | 2 | ||
ƒ | ||||
247 | ƒ · | |||
248 | ƒ | |||
249 | 00 | 249 | 2 ƒ | |
251 | ƒ » | |||
252 | ƒ¼ | |||
253 | 4 ½11 | ½11 93 | ||
255 | ƒ |
.