Разное

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 является универсальной, так как позволяет преобразовать заданную строку в различные вариации (верхний и нижний регистр, кодировка, перевод байт).

  • Строка – собственно, строковое значение, над которым нужно провести преобразование.
  • Метод – задает метод преобразования, данный параметр может принимать следующие значения:
  1. vbUpperCase – перевод в верхний регистр, значение 1
  2. vbLowerCase – перевод в нижний регистр, значение 2
  3. vbPropperCase – перевод первых символов всех слов в верхний регистр, а остальные символы – в нижний, значение 3.
  4. vbWide – применяется для кодировки восточных языков. Перевод символов в один байт с двухбайтовых. Значение 4.
  5. vbNarrow – аналог предыдущему параметру, но тут происходит перевод двух байт в один, значение 8.
  6. vbKatakana – происходит преобразование символов алфавита Хирагана в символы для алфавита Катана, применим для японского языка, значение 16.
  7. vbHiragana – аналог предыдущего параметра, но тут происходит преобразования вида Катана в Хирагана, значение 32. VBA строковые функции
  8. vbUnicode – перевод заданной строки в Unicode кодировку, значение 64.
  9. 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.
vbBinaryCompare0Двоичное (бинарное) сравнение.*
vbTextCompare1Текстовое сравнение.*
vbDatabaseCompare2Сравнение на основе сведений из базы данных. Только для Microsoft Access.

* При двоичном сравнении учитывается регистр букв, при текстовом – не учитывается.

Значения функции InStr

ЕслиВозвращаемое значение
строка2 найдена в строке1Позиция первого найденного соответствия.
строка2 не найдена в строке10
строка2 является пустойЗначение аргумента начало.
строка2 равна NULLNULL
строка1 является пустой0
строка1 равна NULLNULL
начало > длины строка10

Примеры использования в 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 имеет значение NullNull
String2 имеет нулевую длинуStart
String2 имеет значение NullNull
String2 не найдена0
String2 найдена внутри String1Позиция, в которой обнаружено совпадение
Start > String20

Параметры

ЭлементОписание
StartНеобязательный. Числовое выражение, которое задает первую позицию для каждого поиска. Если параметр опущен, поиск начинается с позиции первого символа. В том случае, когда значение параметра Start равно Null, возникает ошибка. Параметр Start является обязательным, если задан параметр Compare
String1Обязательный. Строковое выражение,в котором ведется поиск
String2Обязательный. Отыскиваемое строковое выражение
CompareНеобязательный. Задает тип сравнения для строк. Если значение параметра Compare равно Null, возникает ошибка. В том случае, когда параметр Compare опущен,тип сравнения определяется установками оператора Option Compare

Установки

Для параметра Compare используются следующие установки:

КонстантаЗначениеОписание
vbUseCompareOption-1Сравнение выполняется с использованием установок для оператора Option Compare
vbBinaryCompare0Выполняется побитовое сравнение
vbTextCompare1Выполняется текстовое сравнение
vbDatabaseCompare2Только для 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, чтобы узнать, как получить поддержку и оставить отзыв.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *