Vba функции текстовые: Функции VBA для работы с текстом
Функции VBA для работы с текстом
Функции VBA для работы с текстом | Excel для всех
Главная » Функции VBA »
28 Апрель 2011 Дмитрий 286071 просмотров
- 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().
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Юридическая информация
Так же с этой статьей читают:
Наши партнеры
Спасибо за сообщение
Ваше сообщение было получено и отправлено администратору.
Урок 14 по VBA — функции работы со строками
В этой статье мы рассмотрим кратко строковые функции VBA языка, которые используются для форматирования строк, а также позволяют изменять регистр символов, выводить строковые значения по их коду и так далее.
VBA функции работы со строками
ASC(строковое значение) – применяется для получения числового ASCII кода заданного символа. В качестве параметра можно передать как целую строку (проверка произойдет для первого символа в строке), так и один символ или пробел.
Chr(код символа) – работает в обратном порядке по сравнению с предыдущей функцией. В качестве параметра мы передаем ASCII код, а на выходе получаем символ по заданному коду. Данная строковая VBA функция актуальна в тех случаях, когда нужно вывести служебный символ, например, кавычки, хотя чаще, используются именованные VBA константы.
InStr(строка1, строка2, [старт]) – предназначена для поиска последовательности знаков (строка2) в заданной строке (строка1). Можно также задать начальную позицию для поиска вхождения (необязательный параметр “старт”).
InStrRev(строка1, строка2, [старт]) – аналог предыдущей функции, но поиск происходит в обратном порядке.
Left(строка, длина) – позволяет вернуть заданное количество знаков (параметр “длина”) для выбранной строки (параметр “ строка ”), начиная слева.
Right(строка, длина) – позволяет вернуть заданное количество знаков для выбранной строки, начиная справа.
Mid (строка, длина, старт) – позволяет вернуть заданное количество знаков (параметр “длина”) для выбранной строки, начиная с заданной позиции (параметр “старт”).
Len(строка) – определяет численное количество символов в строке.
LCase(строка) – предназначена для преобразования всех символов в переданной строке в нижний регистр.
UCase(строка) – предназначена для преобразования всех символов в переданной строке в верхний регистр.
LSet(строка, длина) – заполняет содержимое переменной символами из другой переменной начиная слева, длина не изменяется, лишние знаки будут обрезаны, а вместо недостающих, будут подставляться пробелы.
RSet(строка, длина) – логика работы та же, что и для предыдущей vba функции работы со строками, но процесс происходит справа.
LTrim(строка) – удалить пробелы слева в строке
RTrim(строка) – удалить пробелы справа в строке
Trim(строка) – удалить пробелы справа и слева в строке
Replace() – замена в строке одних символов на другие
Space(количество_пробелов) – формирование строки из заданного количества пробелов
String(количество, символ) – формирование строки из заданного количества прописанных символов
Spc() – применяется для формирования вывода данных в консольном окне командной строки. Происходит размножение пробелов, учитывая ширину командной строки.
StrComp(строка1, строка2) – сравнение двух строк, вернет 0 при равенстве, и -1 в противном случае.
StrConv(строка, метод, [LCID]) – данная функция vba является универсальной, так как позволяет преобразовать заданную строку в различные вариации (верхний и нижний регистр, кодировка, перевод байт).
- Строка – собственно, строковое значение, над которым нужно провести преобразование.
- Метод – задает метод преобразования, данный параметр может принимать следующие значения:
- vbUpperCase – перевод в верхний регистр, значение 1
- vbLowerCase – перевод в нижний регистр, значение 2
- vbPropperCase – перевод первых символов всех слов в верхний регистр, а остальные символы – в нижний, значение 3.
- vbWide – применяется для кодировки восточных языков. Перевод символов в один байт с двухбайтовых. Значение 4.
- vbNarrow – аналог предыдущему параметру, но тут происходит перевод двух байт в один, значение 8.
- vbKatakana – происходит преобразование символов алфавита Хирагана в символы для алфавита Катана, применим для японского языка, значение 16.
- vbHiragana – аналог предыдущего параметра, но тут происходит преобразования вида Катана в Хирагана, значение 32. VBA строковые функции
- vbUnicode – перевод заданной строки в Unicode кодировку, значение 64.
- vbFormatUnicode – перевод из кодировки Unicode в стандартную, значение 128.
- LCID – параметр не является обязательным, (vba строковые функции) он задает идентификатор региональных настроек. По умолчанию значение LocaleId, то есть, то значение, что установлено в панели управления.
StrReverse(строка) – инвертировать расположение знаков в строке, проще говоря, “отзеркаливает”.
Tab() – позволяет размножить символы табуляции в заданном количестве. Помимо этого, для вставки табуляции применяется именованная константа vbTab.
Аналогичные VBA строковые функции используются и в языке VBScript сервера сценариев Windows Script Host.
InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse
В этой статье разберем работу со строками в VBA на примерах функций InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse.
Строки — это последовательность символов, которая может состоять либо из алфавитов, цифр, специальных символов, либо из всех них. Переменная называется строкой, если она заключена в двойные кавычки «».
Синтаксис
variablename = "string"
Примеры
str1 = "string" ' Only Alphabets str2 = "132.45" ' Only Numbers str3 = "!@#$;*" ' Only Special Characters Str4 = "Asc23@#" ' Has all the above
Строковые функции
Существуют предопределенные функции VBA String, которые помогают разработчикам эффективно работать со строками. Ниже приведены методы String, поддерживаемые в VBA. Пожалуйста, нажмите на каждый из методов, чтобы знать подробно.
Название функции и описание
InStr
Функция InStr возвращает первое вхождение одной строки в другую строку. Поиск происходит слева направо.
Синтаксис
InStr([start,]string1,string2[,compare])
Параметр Описание
- Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции слева направо.
- String1 — требуемый параметр. Строка для поиска.
- String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim Var As Variant Var = "Microsoft VBScript" MsgBox ("Line 1 : " & InStr(1, Var, "s")) MsgBox ("Line 2 : " & InStr(7, Var, "s")) MsgBox ("Line 3 : " & InStr(1, Var, "f", 1)) MsgBox ("Line 4 : " & InStr(1, Var, "t", 0)) MsgBox ("Line 5 : " & InStr(1, Var, "i")) MsgBox ("Line 6 : " & InStr(7, Var, "i")) MsgBox ("Line 7 : " & InStr(Var, "VB")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : 6
Line 2 : 0
Line 3 : 8
Line 4 : 9
Line 5 : 2
Line 6 : 16
Line 7 : 11
Возвращает первое вхождение указанной подстроки. Поиск происходит слева направо.
InStrRev
Функция InStrRev возвращает первое вхождение одной строки в другую строку. Поиск происходит справа налево.
Синтаксис
InStrRev(string1,string2[,start,[compare]])
Параметр Описание
- String1 — требуемый параметр. Строка для поиска.
- String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
- Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции справа налево.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и установите следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & InStrRev(var,"s",10)) msgbox("Line 2 : " & InStrRev(var,"s",7)) msgbox("Line 3 : " & InStrRev(var,"f",-1,1)) msgbox("Line 4 : " & InStrRev(var,"t",5)) msgbox("Line 5 : " & InStrRev(var,"i",7)) msgbox("Line 6 : " & InStrRev(var,"i",7)) msgbox("Line 7 : " & InStrRev(var,"VB",1)) End Sub
После выполнения вышеуказанного скрипта он производит следующий результат.
Line 1 : 6
Line 2 : 6
Line 3 : 8
Line 4 : 0
Line 5 : 2
Line 6 : 2
Line 7 : 0
Возвращает первое вхождение указанной подстроки. Поиск происходит справа налево.
LCASE
Функция LCase возвращает строку после преобразования введенной строки в строчные буквы.
Синтаксис
Lcase(String)
пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & LCase(var)) var = "MS VBSCRIPT" msgbox("Line 2 : " & LCase(var)) var = "microsoft" msgbox("Line 3 : " & LCase(var)) End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : microsoft vbscript
Line 2 : ms vbscript
Line 3 : microsoft
Возвращает нижний регистр указанной строки.
UCase
Функция UCase возвращает строку после преобразования введенной строки в буквы буквы UPPER.
Синтаксис
UCase(String)
пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & UCase(var)) var = "MS VBSCRIPT" msgbox("Line 2 : " & UCase(var)) var = "microsoft" msgbox("Line 3 : " & UCase(var)) End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : MICROSOFT VBSCRIPT
Line 2 : MS VBSCRIPT
Line 3 : MICROSOFT
Возвращает верхний регистр указанной строки.
Left
Функция Left возвращает указанное количество символов с левой стороны данной входной строки.
Синтаксис
Left(String, Length)
Параметр Описание
- String — обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с левой стороны.
- Длина — требуемый параметр. Целое число, определяющее количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1 : " & Left(var,2)) var = "MS VBSCRIPT" msgbox("Line 2 : " & Left(var,5)) var = "microsoft" msgbox("Line 3 : " & Left(var,9)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : Mi
Line 2 : MS VB
Line 3 : microsoft
Возвращает определенное количество символов с левой стороны строки.
Right
Функция Right возвращает указанное количество символов с правой стороны данной входной строки.
Синтаксис
Right(String, Length)
Параметр Описание
- String — обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с правой стороны.
- Длина — требуемый параметр. Целое число, которое задает количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & Right(var,2)) var = "MS VBSCRIPT" msgbox("Line 2 : " & Right(var,5)) var = "microsoft" msgbox("Line 3 : " & Right(var,9)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : pt
Line 2 : CRIPT
Line 3 : microsoft
Возвращает определенное количество символов с правой стороны строки.
Mid
Mid функция возвращает указанное количество символов из заданной входной строки.
Синтаксис
Mid(String,start[,Length])
Параметр Описание
- String — обязательный параметр. Строка ввода, из которой задано количество символов, которые нужно вернуть.
- Начало — требуемый параметр. Целое число, определяющее начальную позицию строки.
- Длина — необязательный параметр. Целое число, определяющее количество возвращаемых символов.
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1 : " & Mid(var,2)) msgbox("Line 2 : " & Mid(var,2,5)) msgbox("Line 3 : " & Mid(var,5,7)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : icrosoft VBScript
Line 2 : icros
Line 3 : osoft V
Возвращает определенное количество символов из строки на основе указанных параметров.
LTrim
Функция Ltrim удаляет пробелы с левой стороны строки.
Синтаксис
LTrim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = " Microsoft VBScript" msgbox "After Ltrim : " & LTrim(var) End Sub
Когда вы выполняете функцию, она производит следующий вывод.
After Ltrim : Microsoft VBScript
Возвращает строку после удаления пробелов в левой части указанной строки.
RTrim
Функция Rtrim удаляет пробелы с правой стороны строки.
Синтаксис
RTrim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript " msgbox("After Rtrim : " & RTrim(var)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After Rtrim : Microsoft VBScript
Возвращает строку после удаления пробелов в правой части указанной строки.
Trim
Функция Trim удаляет как ведущее, так и конечное пустое пространство данной входной строки.
Синтаксис
Trim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" var = " Microsoft VBScript " msgbox ("After Trim : " & Trim(var)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After trim : Microsoft VBScript
Возвращает строковое значение после удаления как верхнего, так и конечного пробелов.
Len
Функция Len возвращает длину данной входной строки, включая пробелы.
Синтаксис
Len(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var1 as Variant Dim var2 as Variant var1 ="Microsoft VBScript" msgbox("Length of var1 is : " & Len(var1)) var2 = " Microsoft VBScript " msgbox ("Length of var2 is : " & Len(var2)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Length of var1 is : 18
Length of var2 is : 36
Возвращает длину данной строки.
Replace
Функция Replace заменяет указанную часть строки на определенную строку, указанное количество раз.
Синтаксис
Replace(string,find,replacewith[,start[,count[,compare]]])
Параметр Описание
- String — обязательный параметр. Строка ввода, которую нужно искать для замены.
- Find — требуемый параметр. Часть строки, которая будет заменена.
- Replacewith — обязательный параметр. Строка замены, которая будет заменена на параметр find.
- Start — необязательный параметр. Задает начальную позицию, из которой нужно искать и заменять строку. Значение по умолчанию — 1.
- Count — необязательный параметр. Указывает количество раз, которое должна выполняться замена.
- Compare — Необязательный параметр. Указывает метод сравнения, который будет использоваться. Значение по умолчанию — 0.
- 0 = vbBinaryCompare — выполняет двоичное сравнение
- 1 = vbTextCompare — выполняет текстовое сравнение
пример
Private Sub Constant_demo_Click() Dim var as Variant var = "This is VBScript Programming" 'VBScript to be replaced by MS VBScript msgbox("Line 1: " & Replace(var,"VBScript","MS VBScript")) 'VB to be replaced by vb msgbox("Line 2: " & Replace(var,"VB","vb")) ''is' replaced by ## msgbox("Line 3: " & Replace(var,"is","##")) ''is' replaced by ## ignores the characters before the first occurence msgbox("Line 4: " & Replace(var,"is","##",5)) ''s' is replaced by ## for the next 2 occurences. msgbox("Line 5: " & Replace(var,"s","##",1,2)) ''r' is replaced by ## for all occurences textual comparison. msgbox("Line 6: " & Replace(var,"r","##",1,-1,1)) ''t' is replaced by ## for all occurences Binary comparison msgbox("Line 7: " & Replace(var,"t","##",1,-1,0)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1: This is MS VBScript Programming
Line 2: This is vbScript Programming
Line 3: Th## ## VBScript Programming
Line 4: ## VBScript Programming
Line 5: Thi## i## VBScript Programming
Line 6: This is VBSc##ipt P##og##amming
Line 7: This is VBScrip## Programming
Возвращает строку после замены строки другой строкой.
Space
Функция Space заполняет строку конкретным количеством пробелов.
Синтаксис
space(number)
Параметр Описание
Номер — требуемый параметр. Количество пробелов, которые мы хотим добавить к данной строке.
пример
Private Sub Constant_demo_Click() Dim var1 as Variant var1 = "Microsoft" Dim var2 as Variant var2 = "VBScript" msgbox(var1 & Space(2)& var2) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Microsoft VBScript
Заполняет строку указанным количеством пробелов.
StrComp
Функция StrComp возвращает целочисленное значение после сравнения двух заданных строк. Он может возвращать любое из трех значений -1, 0 или 1 на основе входных строк для сравнения.
- Если String1 меньше String2, то StrComp возвращает -1
- Если String1 равно String2, то StrComp возвращает 0
- Если String1 больше String2, то StrComp возвращает 1
Синтаксис
StrComp(string1,string2[,compare])
Параметр Описание
- String1 — требуемый параметр. Первое строковое выражение.
- String2 — требуемый параметр. Второе строковое выражение.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var1 as Variant msgbox("Line 1 :" & StrComp("Microsoft","Microsoft")) msgbox("Line 2 :" &StrComp("Microsoft","MICROSOFT")) msgbox("Line 3 :" &StrComp("Microsoft","MiCrOsOfT")) msgbox("Line 4 :" &StrComp("Microsoft","MiCrOsOfT",1)) msgbox("Line 5 :" &StrComp("Microsoft","MiCrOsOfT",0)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :0
Line 2 :1
Line 3 :1
Line 4 :0
Line 5 :1
Возвращает целочисленное значение после сравнения двух указанных строк.
String
Функция String заполняет строку указанным символом для указанного количества раз.
Синтаксис
String(number,character)
Параметр Описание
- Номер — требуемый параметр. Целочисленное значение, которое будет повторяться в течение определенного количества раз против параметра символа.
- Символ — требуемый параметр. Значение символа, которое должно повторяться определенное количество раз.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() msgbox("Line 1 :" & String(3,"$")) msgbox("Line 2 :" & String(4,"*")) msgbox("Line 3 :" & String(5,100)) msgbox("Line 4 :" & String(6,"ABCDE")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :$$$
Line 2 :****
Line 3 :ddddd
Line 4 :AAAAAA
Возвращает строку с указанным символом для указанного количества раз.
StrReverse
Функция StrReverse меняет указанную строку.
Синтаксис
StrReverse(string)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() msgbox("Line 1 : " & StrReverse("VBSCRIPT")) msgbox("Line 2 : " & StrReverse("My First VBScript")) msgbox("Line 3 : " & StrReverse("123.45")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : TPIRCSBV
Line 2 : tpircSBV tsriF yM
Line 3 : 54.321
Возвращает строку после изменения последовательности символов данной строки.
С уважением, авторы сайта Компьютерапия
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
Текстовые функции | Excel для всех
Текстовые функции | Excel для всех
Главная » Функции Excel »
28 Апрель 2011 Дмитрий 58899 просмотров
- БАТТЕКСТ(BAHTTEXT) — Преобразует чисто в текст (бат) на тайском языке
- СИМВОЛ(CHAR) — Определяет знак по заданному коду.
- ПЕЧСИМВ(CLEAN) — Удаляет все непечатаемые знаки из текста.
- КОДСИМВ(CODE) — Определяет числовой код первого знака в текстовой строке.
- СЦЕПИТЬ(CONCATENATE) — Объединяет несколько текстовых элементов в один.
- РУБЛЬ(DOLLAR) — Преобразует число в текст, используя денежный формат доллара.
- СОВПАД(EXACT) — Проверяет идентичность двух текстов.
- НАЙТИ(FIND) — Ищет вхождение одного текста в другой (с учетом регистра).
- ФИКСИРОВАННЫЙ(FIXED) — Форматирует число и преобразует его в текст с заданным числом десятичных знаков.
- ЛЕВСИМВ(LEFT) — Выдает нужное количество самых левых знаков в строке.
- ДЛСТР(LEN) — Определяет количество знаков в текстовой строке.
- СТРОЧН(LOWER) — Делает все буквы в тексте строчными.
- ПСТР(MID) — Выдает определенное число знаков из строки текста, начиная с указанной позиции.
- ПРОПНАЧ(PROPER) — Делает прописной первую букву в каждом слове текста.
- ЗАМЕНИТЬ(REPLACE) — Заменяет знаки в тексте.
- ПОВТОР(REPT) — Повторяет текст заданное число раз.
- ПРАВСИМВ(RIGHT) — Выдает самые правые знаки текстовой строки.
- ПОИСК(SEARCH) — Ищет вхождение одного текста в другой (без учета регистра).
- ПОДСТАВИТЬ(SUBSTITUTE) — Заменяет в текстовой строке старый текст новым.
- Т(T) — Преобразует аргумент в текст.
- ТЕКСТ(TEXT) — Форматирует число и преобразует его в текст.
- СЖПРОБЕЛЫ(TRIM) — Удаляет из текста лишние пробелы.
- ПРОПИСН(UPPER) — Делает все буквы в тексте прописными.
- ЗНАЧЕН(VALUE) — Преобразует текстовый аргумент в число.
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Юридическая информация
Так же с этой статьей читают:
Наши партнеры
Спасибо за сообщение
Ваше сообщение было получено и отправлено администратору.
VBA Excel. Функция InStr (синтаксис, параметры, примеры)
Определение первого вхождения одной строки в другую с помощью функции InStr из кода VBA Excel. Синтаксис функции, параметры, примеры использования.
Описание функции InStr
InStr – это функция, которая предназначена для определения номера позиции первого вхождения одной строки в другую. Она возвращает значение типа Variant (Long).
Функция InStr часто незаменима при определении параметров функций Left, Mid и Right. Также ее можно использовать для определения наличия искомой подстроки в заданной строке.
Еще есть в VBA Excel функция InStrB, которая работает с байтовыми данными, содержащимися в строке. Она возвращает позицию байта, а не символа первого вхождения одной строки в другую. Смотрите ниже Пример 3.
Синтаксис, параметры, значения
Синтаксис функции InStr
Полный вариант:InStr([начало], строка1, строка2, [сравнение])
Сокращенный вариант:InStr(строка1, строка2)
Чаще всего в VBA Excel используется сокращенный вариант функции со значениями необязательных параметров по умолчанию.
Параметры функции InStr
Параметр | Описание | Значение по умолчанию |
начало | Необязательный аргумент.* Числовое выражение, которое задает начальную позицию для поиска. | 1 |
строка1 | Обязательный аргумент. Строковое выражение, в котором выполняется поиск. | – |
строка2 | Обязательный аргумент. Искомое строковое выражение. | – |
сравнение | Необязательный аргумент. Задает тип сравнения строк. | –1** |
* Если задан аргумент сравнение, аргумент начало является обязательным.
** Если аргумент сравнение не указан, используется значение инструкции Option Compare, заданное на уровне модуля. Если инструкция Option Compare в начале модуля отсутствует, используется ее значение по умолчанию – 0 (двоичное сравнение).
Если параметр начало или параметр сравнение содержит значение NULL, возникает ошибка.
Значения аргумента «сравнение»
Константа | Значение | Описание |
vbUseCompareOption | -1 | Сравнение с помощью параметра инструкции Option Compare. |
vbBinaryCompare | 0 | Двоичное (бинарное) сравнение.* |
vbTextCompare | 1 | Текстовое сравнение.* |
vbDatabaseCompare | 2 | Сравнение на основе сведений из базы данных. Только для Microsoft Access. |
* При двоичном сравнении учитывается регистр букв, при текстовом – не учитывается.
Значения функции InStr
Если | Возвращаемое значение |
строка2 найдена в строке1 | Позиция первого найденного соответствия. |
строка2 не найдена в строке1 | 0 |
строка2 является пустой | Значение аргумента начало. |
строка2 равна NULL | NULL |
строка1 является пустой | 0 |
строка1 равна NULL | NULL |
начало > длины строка1 | 0 |
Примеры использования в VBA Excel
Пример 1
Самый простой пример:
Sub Test1() Dim x As Variant x = InStr(«На горе Фернандо-По, где гуляет Гиппо-по», «Фернандо») MsgBox x ‘Здесь x будет равен 9 End Sub |
Пример 2
В этом примере, используя одинаковые строки, в которых выполняется поиск, и искомые подстроки, применим разные виды сравнения – двоичное (бинарное) и текстовое, и посмотрим на результаты.
Sub Test2() Dim x As Variant x = InStr(10, «На горе Фернандо-По, где гуляет Гиппо-по», «по», 0) MsgBox x ‘Здесь x будет равен 36 (поиск с учетом регистра символов) x = InStr(10, «На горе Фернандо-По, где гуляет Гиппо-по», «по», 1) MsgBox x ‘Здесь x будет равен 18 (поиск без учета регистра символов) End Sub |
Обратите внимание: несмотря на то, что начало поиска мы задали с 10 символа, номер позиции первого вхождения считается с начала строки, в которой выполняется поиск.
Пример 3
В этом примере посмотрим на результаты посимвольного и побайтового сравнения, опять же используя одинаковые строки и искомые подстроки.
Sub Test3() Dim x As Variant x = InStr(«На горе Фернандо-По, где гуляет Гиппо-по», «гор») MsgBox x ‘Здесь x будет равен 4 x = InStrB(«На горе Фернандо-По, где гуляет Гиппо-по», «гор») MsgBox x ‘Здесь x будет равен 7 End Sub |
Результат 7 при побайтовом сравнении получен для кодировки, у которой один символ составляет 2 байта.
InStr — Функции обработки строк — Функции VBA — Справочники
InStr
Функция InStr
InStr([Start,]String1,String2[,Compare])
InStrB([Start,]String1,String2[,Compare])
Функция InStr(In String) служит для поиска номера символа(номера байта для InStrB), с которого начинается в заданной строке образец поиска. Поиск идет от указанной позиции слева направо. Поиск вхождения одной строки в другую весьма часто используемая операция. Нумерация символов всегда начинается с единицы
Примечание
В функции InStr при очень длинных строках при текстовом методе сравнения, возможно возникновение ошибки времени исполнения Stack overflow. Избежать этой ошибки можно, переведя исходную строку и образец в один регистр и перейдя на бинарное сравнение
Возвращаемое значение
Возвращает значение типа Variant(Long), указывающее позицию первого появления одной строки внутри другой
Перечень возвращаемых значений
Вариант | Значение, возвращаемое функцией InStr |
String1 имеет нулевую длину | 0 |
String1 имеет значение Null | Null |
String2 имеет нулевую длину | Start |
String2 имеет значение Null | Null |
String2 не найдена | 0 |
String2 найдена внутри String1 | Позиция, в которой обнаружено совпадение |
Start > String2 | 0 |
Параметры
Элемент | Описание |
Start | Необязательный. Числовое выражение, которое задает первую позицию для каждого поиска. Если параметр опущен, поиск начинается с позиции первого символа. В том случае, когда значение параметра Start равно Null, возникает ошибка. Параметр Start является обязательным, если задан параметр Compare |
String1 | Обязательный. Строковое выражение,в котором ведется поиск |
String2 | Обязательный. Отыскиваемое строковое выражение |
Compare | Необязательный. Задает тип сравнения для строк. Если значение параметра Compare равно Null, возникает ошибка. В том случае, когда параметр Compare опущен,тип сравнения определяется установками оператора Option Compare |
Установки
Для параметра Compare используются следующие установки:
Константа | Значение | Описание |
vbUseCompareOption | -1 | Сравнение выполняется с использованием установок для оператора Option Compare |
vbBinaryCompare | 0 | Выполняется побитовое сравнение |
vbTextCompare | 1 | Выполняется текстовое сравнение |
vbDatabaseCompare | 2 | Только для Microsoft Access. Сравнение выполняется с применением сведений из базы данных пользователя |
Пример
' В данном примере функция InStr
' возвращает позицию первого появления
' одной строки внутри другой строки
Dim SearchString, SearchChar, MyPos
SearchString ="Русский_Проект" ' Исходная строка
SearchChar = "Р" ' Следует найти "P"
' Посимвольное сравнение, начиная с позиции 4. Возвращает 10
MyPos = Instr(4, SearchString, SearchChar, vbTextCompare)
' Двоичное сравнение, начиная с позиции 1. Возвращает 1
MyPos = Instr(1, SearchString, SearchChar, 0)
' Сравнение является двоичным по умолчанию (последний аргумент опущен)
MyPos = Instr(SearchString, SearchChar) ' Возвращает 1
MyPos = Instr(1, SearchString, "W") ' Возвращает 0
Категория
Функции обработки строк
VBA Excel. Функции Left, Mid, Right (вырезать часть строки)
Извлечение (вырезание) части строки с помощью кода VBA Excel из значения ячейки или переменной. Функции Left, Mid и Right, их синтаксис и аргументы. Пример.
Функция Left
Эта функция извлекает левую часть строки с заданным количеством символов.
Синтаксис функции Left:
Left(строка, длина)
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается левая часть;
- длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.
Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.
Функция Mid
Эта функция извлекает часть строки с заданным количеством символов, начиная с указанного символа (по номеру).
Синтаксис функции Mid:
Mid(строка, начало, [длина])
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается часть строки;
- начало — обязательный аргумент: числовое выражение, указывающее положение символа в строке, с которого начинается извлекаемая часть;
- длина — необязательный аргумент: числовое выражение, указывающее количество вырезаемых символов.
Если аргумент «начало» больше, чем количество символов в строке, функция Mid возвращает пустую строку. Если аргумент «длина» опущен или его значение превышает количество символов в строке, начиная с начального, возвращаются все символы от начальной позиции до конца строки.
Функция Right
Эта функция извлекает правую часть строки с заданным количеством символов.
Синтаксис функции Right:
Right(строка, длина)
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается правая часть;
- длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.
Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.
Пример
В этом примере будем использовать все три представленные выше функции для извлечения из ФИО его составных частей. Для этого запишем в ячейку «A1» строку «Иванов Сидор Петрович», из которой вырежем отдельные компоненты и запишем их в ячейки «A2:A4».
Sub Primer() Dim n1 As Long, n2 As Long Range(«A1») = «Иванов Сидор Петрович» ‘Определяем позицию первого пробела n1 = InStr(1, Range(«A1″), » «) ‘Определяем позицию второго пробела n2 = InStr(n1 + 1, Range(«A1″), » «) ‘Извлекаем фамилию Range(«A2») = Left(Range(«A1»), n1 — 1) ‘Извлекаем имя Range(«A3») = Mid(Range(«A1»), n1 + 1, n2 — n1 — 1) ‘Извлекаем отчество Range(«A4») = Right(Range(«A1»), Len(Range(«A1»)) — n2) End Sub |
На практике часто встречаются строки с лишними пробелами, которые необходимо удалить перед извлечением отдельных слов.
Список функций VBA
Главная »Функции VBA
VBA предоставляет большое количество встроенных функций, которые можно использовать в вашем коде. Ниже перечислены наиболее популярные встроенные функции VBA. Выберите имя функции, чтобы перейти к полному описанию функции с примерами использования.
InputBox | Отображает диалоговое окно, предлагающее пользователю ввести данные. |
MsgBox | Отображает модальное окно сообщения. |
Формат | Применяет формат к выражению и возвращает результат в виде строки. |
InStr | Возвращает позицию подстроки в строке. |
InStrRev | Возвращает позицию подстроки в строке с поиском справа налево. |
Влево | Возвращает подстроку с начала предоставленной строки. |
Len | Возвращает длину предоставленной строки. |
LCase | Преобразует предоставленную строку в текст в нижнем регистре. |
LTrim | Удаляет начальные пробелы из предоставленной строки. |
Mid | Возвращает подстроку из середины предоставленной строки. |
Заменить | Заменяет подстроку в предоставленной текстовой строке. |
Справа | Возвращает подстроку с конца предоставленной строки. |
RTrim | Удаляет конечные пробелы из предоставленной строки. |
Пробел | Создает строку, состоящую из указанного количества пробелов. |
StrComp | Сравнивает две строки и возвращает целое число, представляющее результат сравнения. |
StrConv | Преобразует строку в указанный формат. |
Строка | Создает строку, состоящую из нескольких повторяющихся символов. |
StrReverse | Оборачивает заданную строку. |
Trim | Удаляет начальные и конечные пробелы из предоставленной строки. |
UCase | Преобразует предоставленную строку в текст в верхнем регистре. |
IsArray | Проверяет, является ли предоставленная переменная массивом. |
IsDate | Проверяет, является ли предоставленное выражение датой. |
IsEmpty | Проверяет, является ли поставляемый вариант пустым. |
IsError | Проверяет, представляет ли предоставленное выражение ошибку. |
IsMissing | Проверяет, отсутствует ли необязательный аргумент процедуры. |
IsNull | Проверяет, имеет ли предоставленное выражение значение Null. |
IsNumeric | Проверяет, является ли предоставленное выражение числовым. |
IsObject | Проверяет, представляет ли предоставленная переменная объектную переменную. |
CVErr | Создает тип данных Error для предоставленного кода ошибки. |
Ошибка | Возвращает сообщение об ошибке, соответствующее предоставленному коду ошибки. |
Выбрать | Выбирает значение из списка аргументов. |
IIf | Оценивает выражение и возвращает одно из двух значений, в зависимости от того, имеет ли выражение значение True или False. |
Переключатель | Оценивает список логических выражений и возвращает значение, связанное с первым истинным выражением. |
Asc | Возвращает целое число, представляющее код для предоставленного символа. |
CBool | Преобразует выражение в логический тип данных. |
CByte | Преобразует выражение в байтовый тип данных. |
CCur | Преобразует выражение в тип данных Currency. |
CDate | Преобразует выражение в тип данных Date. |
CDbl | Преобразует выражение в тип данных Double. |
CDec | Преобразует выражение в тип данных Decimal. |
Chr | Возвращает символ, соответствующий предоставленному коду символа. |
CInt | Преобразует выражение в тип данных Integer. |
CLng | Преобразует выражение в тип данных Long. |
CSng | Преобразует выражение в тип данных Single. |
CStr | Преобразует выражение в тип данных String. |
CVar | Преобразует выражение в тип данных Variant. |
FormatCurrency | Применяет денежный формат к выражению и возвращает результат в виде строки. |
FormatDateTime | Применяет формат даты / времени к выражению и возвращает результат в виде строки. |
FormatNumber | Применяет числовой формат к выражению и возвращает результат в виде строки. |
FormatPercent | Применяет процентный формат к выражению и возвращает результат в виде строки. |
Hex | Преобразует числовое значение в шестнадцатеричное представление и возвращает результат в виде строки. |
окт. | Преобразует числовое значение в восьмеричное представление и возвращает результат в виде строки. |
Str | Преобразует числовое значение в строку. |
Val | Преобразует строку в числовое значение. |
Дата | Возвращает текущую дату. |
DateAdd | Добавляет временной интервал к дате и / или времени. |
DateDiff | Возвращает количество интервалов между двумя датами и / или временем. |
DatePart | Возвращает часть (день, месяц, год и т. Д.) Предоставленной даты / времени. |
DateSerial | Возвращает дату из предоставленного номера года, месяца и дня. |
DateValue | Возвращает дату из строкового представления даты / времени. |
День | Возвращает номер дня (от 1 до 31) предоставленной даты. |
Час | Возвращает часовой компонент предоставленного времени. |
Минуты | Возвращает минутную составляющую предоставленного времени. |
Месяц | Возвращает номер месяца (от 1 до 12) указанной даты. |
MonthName | Возвращает название месяца для указанного номера месяца (от 1 до 12). |
Сейчас | Возвращает текущую дату и время. |
Секунда | Возвращает второй компонент предоставленного времени. |
Время | Возвращает текущее время. |
Таймер | Возвращает количество секунд, прошедших с полуночи. |
TimeSerial | Возвращает время из предоставленных часов, минут и секунд. |
TimeValue | Возвращает время из строкового представления даты / времени. |
День недели | Возвращает целое число (от 1 до 7), представляющее день недели указанной даты. |
WeekdayName | Возвращает название дня недели для указанного целого числа (от 1 до 7). |
Год | Возвращает год поставленной даты. |
Abs | Возвращает абсолютное значение числа. |
Atn | Вычисляет арктангенс заданного числа. |
Cos | Вычисляет косинус заданного угла. |
Exp | Вычисляет значение e x для предоставленного значения x. |
Fix | Усекает число до целого (округление отрицательных чисел до нуля). |
Int | Возвращает целую часть числа (округляя отрицательные числа от нуля). |
Log | Вычисляет натуральный логарифм предоставленного числа. |
Rnd | Создает случайное число от 0 до 1. |
Round | Округляет число до указанного количества десятичных знаков. |
Sgn | Возвращает целое число, представляющее арифметический знак числа. |
Sin | Вычисляет синус заданного угла. |
Tan | Вычисляет тангенс заданного угла. |
Sqr | Возвращает квадратный корень числа. |
DDB | Вычисляет амортизацию актива в течение определенного периода с использованием метода двойного убывания остатка. |
FV | Рассчитывает будущую стоимость ссуды или инвестиции. |
IPmt | Вычисляет процентную часть платежа в течение определенного периода по ссуде или инвестициям. |
IRR | Вычисляет внутреннюю норму прибыли для серии периодических денежных потоков. |
MIRR | Вычисляет модифицированную внутреннюю норму доходности для серии периодических денежных потоков. |
NPer | Вычисляет количество периодов для ссуды или инвестиции. |
NPV | Вычисляет чистую приведенную стоимость инвестиции. |
Pmt | Вычисляет постоянные периодические платежи по ссуде или инвестициям. |
PPmt | Вычисляет основную часть платежа в течение определенного периода по ссуде или инвестициям. |
PV | Вычисляет приведенную стоимость ссуды или инвестиции. |
Ставка | Вычисляет процентную ставку за период для ссуды или инвестиции. |
SLN | Вычисляет прямую амортизацию актива за один период. |
SYD | Вычисляет амортизацию по сумме лет за определенный период жизненного цикла актива. |
Массив | Создает массив, содержащий предоставленный набор значений. |
Фильтр | Возвращает подмножество предоставленного массива строк на основе предоставленных критериев. |
Объединить | Объединяет несколько подстрок в одну строку. |
LBound | Возвращает самый низкий индекс для измерения массива. |
Разделить | Разбивает текстовую строку на несколько подстрок. |
UBound | Возвращает наивысший нижний индекс для измерения массива. |
CurDir | Возвращает текущий путь в виде строки. |
Dir | Возвращает имя первого файла или каталога, которое соответствует указанному шаблону и атрибутам. |
FileAttr | Возвращает режим файла, который был открыт с помощью оператора Open. |
FileDateTime | Возвращает дату и время последнего изменения предоставленного файла, каталога или папки. |
FileLen | Возвращает длину предоставленного файла, каталога или папки. |
GetAttr | Возвращает целое число, представляющее атрибуты предоставленного файла, каталога или папки. |
Vlookup в VBA | Используйте функцию Vlookup в электронной таблице Excel из VBA |
Вернитесь на домашнюю страницу ExcelFunctions.net .
Функция StrConv (Visual Basic для приложений)
- 2 минуты на чтение
В этой статье
Возвращает Variant ( String ), преобразованный, как указано.
Синтаксис
StrConv ( строка , преобразование , [ LCID ])
Синтаксис функции StrConv имеет следующие именованные аргументы:
Деталь | Описание |
---|---|
строка | Обязательно.Преобразуемое строковое выражение. |
преобразование | Обязательно. Целое число. Сумма значений, определяющая тип выполняемого преобразования. |
LCID | Необязательно. LocaleID, если он отличается от системного LocaleID. (По умолчанию используется LocaleID.) |
Настройки
Преобразование Параметры аргумента :
Константа | Значение | Описание |
---|---|---|
vb Верхний корпус | 1 | Преобразует строку в символы верхнего регистра. |
vbLowerCase | 2 | Преобразует строку в символы нижнего регистра. |
vbProperCase | 3 | Преобразует первую букву каждого слова в строке в верхний регистр. |
vb широкий * | 4 * | Преобразует узкие (однобайтовые) символы в строке в широкие (двухбайтовые) символы. |
vb Узкий * | 8 * | Преобразует широкие (двухбайтовые) символы в строке в узкие (однобайтовые) символы. |
vb Катакана ** | 16 ** | Преобразует символы хираганы в строке в символы катаканы. |
vbHiragana ** | 32 ** | Преобразует символы катаканы в строке в символы хираганы. |
vb Юникод | 64 | Преобразует строку в Unicode, используя кодовую страницу системы по умолчанию. (Недоступно на Macintosh.) |
vb FromUnicode | 128 | Преобразует строку из Unicode в кодовую страницу системы по умолчанию.(Недоступно на Macintosh.) |
* Применимо к регионам Восточной Азии.
** Относится только к Японии.
Примечание
Эти константы определены Visual Basic для приложений. В результате они могут использоваться в любом месте вашего кода вместо фактических значений. Большинство из них могут быть объединены, например, vbUpperCase + vbWide , за исключением случаев, когда они являются взаимоисключающими, например vbUnicode + vbFromUnicode . Константы vbWide , vbNarrow , vbKatakana и vbHiragana вызывают ошибки времени выполнения при использовании в локали, где они не применяются.
Следующие допустимые разделители слов для правильного регистра: Null ( Chr $ (0)), горизонтальная табуляция ( Chr $ (9)), перевод строки ( Chr $ (10)), вертикальная табуляция ( Chr долларов (11)), подача формы ( Chr, долларов (12)), возврат каретки ( Chr, долларов (13)), пробел (SBCS) ( Chr, долларов (32)). Фактическое значение пространства зависит от страны / региона для DBCS.
Замечания
При преобразовании из массива Byte в формате ANSI в строку используйте функцию StrConv .При преобразовании из такого массива в формат Unicode используйте оператор присваивания.
Пример
В этом примере используется функция StrConv для преобразования строки Unicode в строку ANSI.
Dim i As Long
Dim x () как байт
x = StrConv ("ABCDEFG", vbFromUnicode) 'Преобразовать строку.
Для i = 0 до UBound (x)
Отладка. Печать x (i)
следующий
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
.
Производные математические функции (Visual Basic для приложений)
- 2 минуты на чтение
В этой статье
Ниже приводится список несобственных математических функций, которые могут быть получены из внутренних математических функций.
Функция | Производные эквиваленты |
---|---|
Секант | Секунда (X) = 1 / Cos (X) |
Косеканс | Cosec (X) = 1 / Sin (X) |
Котангенс | Котан (X) = 1 / Tan (X) |
Обратный синус | Арксин (X) = Атн (X / Sqr (-X * X + 1)) |
Обратный косинус | Arccos (X) = Atn (-X / Sqr (-X * X + 1)) + 2 * Atn (1) |
Обратная секущая | Arcsec (X) = Atn (X / Sqr (X * X - 1)) + Sgn ((X) - 1) * (2 * Atn (1)) |
Обратный косеканс | Arccosec (X) = Atn (X / Sqr (X * X - 1)) + (Sgn (X) - 1) * (2 * Atn (1)) |
Обратный котангенс | Арккотан (X) = Атн (X) + 2 * Атн (1) |
Гиперболический синус | HSin (X) = (Exp (X) - Exp (-X)) / 2 |
Гиперболический косинус | HCos (X) = (Exp (X) + Exp (-X)) / 2 |
Гиперболический тангенс | HTan (X) = (Exp (X) - Exp (-X)) / (Exp (X) + Exp (-X)) |
Гиперболический секанс | HSec (X) = 2 / (Exp (X) + Exp (-X)) |
Гиперболический косеканс | HCosec (X) = 2 / (Exp (X) - Exp (-X)) |
Гиперболический котангенс | HCotan (X) = (Exp (X) + Exp (-X)) / (Exp (X) - Exp (-X)) |
Обратный гиперболический синус | Арксин (X) = Лог (X + Sqr (X * X + 1)) |
Обратный гиперболический косинус | HArccos (X) = Log (X + Sqr (X * X - 1)) |
Обратный гиперболический тангенс | HArctan (X) = Log ((1 + X) / (1 - X)) / 2 |
Обратный гиперболический секанс | HArcsec (X) = Log ((Sqr (-X * X + 1) + 1) / X) |
Обратный гиперболический косеканс | HArccosec (X) = Log ((Sgn (X) * Sqr (X * X + 1) + 1) / X) |
Обратный гиперболический котангенс | Аркотан (X) = Log ((X + 1) / (X - 1)) / 2 |
Логарифм по основанию N | LogN (X) = Log (X) / Log (N) |
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
.
Функция InStr (Visual Basic для приложений)
- 2 минуты на чтение
В этой статье
Возвращает Variant ( Long ), определяющий позицию первого вхождения одной строки в другую.
Примечание
Заинтересованы в разработке решений, расширяющих возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office.Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любые технологии веб-программирования, такие как HTML5, JavaScript, CSS3 и XML.
Синтаксис
InStr ([ начало ], строка1 , строка2 , [ сравнить ])
Синтаксис функции InStr имеет следующие аргументы:
Деталь | Описание |
---|---|
начало | Необязательно.Числовое выражение, задающее начальную позицию для каждого поиска. Если не указан, поиск начинается с позиции первого символа. Если start содержит Null, возникает ошибка. Аргумент start требуется, если указано compare . |
строка 1 | Обязательно. Ищется строковое выражение. |
строка2 | Обязательно. Искомое строковое выражение. |
сравнить | Необязательно.Задает тип сравнения строк. Если compare — Null , возникает ошибка. Если compare опущено, параметр Option Compare определяет тип сравнения. Укажите допустимый LCID (LocaleID), чтобы использовать при сравнении правила, зависящие от языкового стандарта. |
Настройки
Параметры аргумента compare следующие.
Константа | Значение | Описание |
---|---|---|
vbUseCompareOption | -1 | Выполняет сравнение с использованием настройки оператора Option Compare . |
vbBinary Сравнить | 0 | Выполняет двоичное сравнение. |
vbTextСравнить | 1 | Выполняет текстовое сравнение. |
vbDatabaseCompare | 2 | Только Microsoft Access. Выполняет сравнение на основе информации в вашей базе данных. |
Возвращаемые значения
Если | InStr возвращает |
---|---|
строка1 имеет нулевую длину | 0 |
строка1 — Нулевой | Нулевой |
строка2 имеет нулевую длину | начало |
string2 is Null | Нулевой |
строка2 не найдена | 0 |
строка2 находится в строка1 | Позиция, в которой найдено совпадение |
начало > строка2 | 0 |
Примечания
Функция InStrB используется с байтовыми данными, содержащимися в строке.Вместо того, чтобы возвращать позицию символа первого вхождения одной строки в другую, InStrB возвращает позицию байта.
Пример
В этом примере используется функция InStr для возврата позиции первого вхождения одной строки в другую.
Dim SearchString, SearchChar, MyPos
SearchString = "XXpXXpXXPXXP" 'Строка для поиска.
SearchChar = "P" 'Искать "P".
'Текстовое сравнение, начиная с позиции 4.Возврат 6.
MyPos = Instr (4, SearchString, SearchChar, 1)
'Бинарное сравнение, начиная с позиции 1. Возвращает 9.
MyPos = Instr (1, SearchString, SearchChar, 0)
'Сравнение по умолчанию двоичное (последний аргумент опущен).
MyPos = Instr (SearchString, SearchChar) 'Возвращает 9.
MyPos = Instr (1, SearchString, "W") 'Возвращает 0.
См. Также
Поддержка и отзывы
Есть вопросы или отзывы об Office VBA или этой документации? См. Раздел Поддержка и отзывы Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
.