Vba mid функция: Оператор Mid — Visual Basic

Содержание

Оператор Mid — Visual Basic






Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья



Заменяет указанное число символов в переменной String символами из другой строки.

Синтаксис

Mid( _  
   ByRef Target As String, _  
   ByVal Start As Integer, _  
   Optional ByVal Length As Integer _  
) = StringExpression  

Компоненты

Target
Обязательный. Имя переменной для String изменения.

Start
Обязательный. Выражение Integer. Позиция символа в Target том месте, где начинается замена текста. Start использует одноуровневый индекс.

Length
Необязательный элемент. Выражение Integer. Число заменяемых символов. Если этот параметр опущен, используются все String .

StringExpression
Обязательный. String выражение, заменяющее часть Target.

Исключения

Тип исключенияУсловие
ArgumentExceptionStart<= 0 или Length < 0.

Число заменяемых символов всегда меньше или равно количеству символов в Target.

В Visual Basic есть Mid функция и Mid оператор . Оба этих элемента работают с указанным количеством символов в строке, но Mid функция возвращает символы, Mid а оператор заменяет символы. Для получения дополнительной информации см. Mid.

Примечание

Оператор MidB более ранних версий Visual Basic заменяет подстроку в байтах, а не символы. Он используется в основном для преобразования строк в приложениях с двухбайтовой кодировкой (DBCS). Все строки Visual Basic находятся в Юникоде и MidB больше не поддерживаются.

Пример

В этом примере оператор используется Mid для замены указанного числа символов в строковой переменной символами из другой строки.

Dim testString As String
' Initializes string.
testString = "The dog jumps"
' Returns "The fox jumps".
Mid(testString, 5, 3) = "fox"
' Returns "The cow jumps".
Mid(testString, 5) = "cow"
' Returns "The cow jumpe". 
Mid(testString, 5) = "cow jumped over"
' Returns "The duc jumpe".
Mid(testString, 5, 3) = "duck"

Требования

Пространство имен:Microsoft.VisualBasic

Модуль:Strings

Сборки: Библиотека среды выполнения Visual Basic (в Microsoft.VisualBasic.dll)

См. также

  • Mid
  • Строки
  • Знакомство со строками в Visual Basic






Строковые функции VBA

Содержание

  1. Строковые функции VBA в Excel
  2. Список шести лучших строковых функций в VBA
  3. # 1 – Функция LEN
  4. # 2 – Функция LEFT
  5. # 3 – Функция RIGHT
  6. # 4 – Функция MID
  7. # 5 – Функция TRIM
  8. # 6 – Функция Instr
  9. Рекомендуемые статьи

Строковые функции VBA не заменяют строку, а являются результатом этого functions создает новую строку. В VBA есть много строковых функций, и все они разделены на строковые или текстовые функции, некоторые из важных функций – это функция LEFT для получения значения слева и функция RIGHT для получения значения справа или функция MID, функция LEN и INSTR .

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

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

Список шести лучших строковых функций в VBA

  1. Функция LEN
  2. Функция LEFT
  3. Функция RIGHT
  4. Функция MID
  5. Функция TRIM
  6. Функция Instr

Я хотел бы сказать, что « строковые функции VBA – это текстовые функции на листе ».

Вы, должно быть, уже использовали функции excel LEN, LEFT, RIGHT, MID, SUBSTITUTE, чтобы поиграть с данными. В VBA мы также можем использовать их, чтобы поиграть с данными.

Мы обсудим некоторые важные функции в этой статье.

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

# 1 – Функция LEN

LEN означает «ДЛИНА». Это даст нам количество символов, используемых в предоставленной строке. Например, если вы укажете слово «Hello», LEN в функции excel вернет 5 в качестве результата, потому что в слове «Hello» 5 символов.

В приведенном ниже коде будет показан пример. .

Код:

 Sub LEN_Example () Dim TotalCount как String TotalCount = Len  ("Привет") MsgBox TotalCountEnd Sub 

Это покажет результат в окне сообщения как 5.

# 2 – Функция LEFT

Чтобы извлечь символы из левой части строки, нам нужно использовать функция VBA LEFT. Взгляните на синтаксис функции LEFT.

  • Строка – это строка, которую мы пытаемся извлечь.
  • Длина – это не что иное, как много символов, которые вам нужны, с левой стороны предоставленной String .
 Sub LEFT_Example () Dim FirstName As String FirstName = Left ("Sachin Tendulkar",  6) MsgBox FirstNameEnd Sub 

Это извлечет первые 6 символов из строки «Sachin Tendulkar». Таким образом, результат будет иметь имя, то есть «Sachin».

Популярные курсы в этой категории

Обучение VBA (3 курса, 12+ проектов)
4,6 (247 оценок) 3 курса | 12 практических проектов | 43+ часов | Полный пожизненный доступ | Сертификат прохождения

->

Просмотр Курс

# 3 – Функция RIGHT

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

Синтаксис функции RIGHT точно такой же, как и функции LEFT.

  • Строка – это строка, которую мы пытаемся извлечь.
  • Length – это не что иное, как количество символов, которое вам нужно, с правой стороны предоставленной

Код:

 Sub RIGHT_Example () Dim LastName As String LastName = Right ("Sachin Tendulkar", 9) MsgBox LastNameEnd Sub 

Это извлечет 9 символов из строки «Сачин Тендулкар». Таким образом, результат будет иметь фамилию, то есть «Тендулкар».

# 4 – Функция MID

Не только с левой и правой стороны строки, но и с середины строки, мы также можем извлекать символы. Ниже приведен синтаксис функции VBA MID.

  • Строка для поиска: Из какой строки нам нужно среднее значение
  • Начальная позиция: Какая начальная номер позиции символа для извлечения?
  • Количество извлекаемых символов: Из начальной позиции , сколько символов нужно извлечь .

Например, если имя – «Сачин Рамеш Тендулкар», то здесь второе имя – «Рамеш», в этой строке начальная позиция извлекаемого символа – 8, а нам нужно 6 символов от начальной позиции. Приведенный ниже код извлечет среднее значение.

Код:

 Sub MID_Example (  ) Dim MiddleName As String MiddleName = Mid ("Sachin Ramesh Tendulkar", 8, 6) MsgBox MiddleNameEnd Sub 

Это извлечет «Ramesh» из середины строки «Sachin Ramesh Tendulkar».

# 5 – Функция TRIM

TRIM – это функция очистки данных. Она удалит ненужные пробелы из строки. Взгляните на синтаксис функции TRIM.

Ясно, что это значение или строка, которую вы хотите обрезать.

Например, предположим, что у вас есть строка «Привет, как дела?». Здесь у нас есть ненужные пробелы перед словом «Привет», поэтому с помощью TRIM. Мы можем это устранить.

Код:

 Sub TRIM_Example () Dim MyValue As String MyValue = Trim (  «Привет, как дела?») MsgBox MyValueEnd Sub 

Это удалит ненужные пробелы из предоставленной строки.

Примечание. VBA TRIM немного отличается от функции рабочего листа. Подробное описание этой функции VBA см. нашу статью о VBA TRIM.

У нас есть функции LTRIM и RTRIM. s также в VBA. LTRIM удалит ненужные пробелы с левой стороны строки, а RTRIM удалит нежелательные пробелы с правой стороны строки.

# 6 – Функция Instr

Функция Instr помогает найти позицию предоставленного символа в строке. Синтаксис функции INSTR следующий.

  • [Начало] С какой позиции предоставленной строки нам нужна позиция.
  • [String1] Какую строку вы имеете в виду?
  • [String2] Какой символ вы ищете в [String1].

Например, если у вас есть слово «Рецепт» и вы хотите найти положение символа «e» с первого места ниже, код покажет позиция буквы «е».

Код:

 Sub INSTR_Example () Dim MyValue As String MyValue = InStr (1  , "Рецепт", "е") MsgBox MyValueEnd Sub 

Итак, с первой позиции строковой буквы «е» позиция равна 2.

Если вам нужна позиция второго появления буквы «e», тогда вам нужно использовать Начать аргумент как 3.

Код:

 Sub INSTR_Example () Dim MyValue As String MyValue = InStr (3, "Рецепт", "  e ") MsgBox MyValueEnd Sub 

Итак, в этом случае позиция буквы« e »после первого появления равна 6 th .

Это некоторые из важных строковых функций. Надеюсь, вам понравилось.

Рекомендуемые статьи

Это руководство по строковым функциям VBA. Здесь мы узнаем список из 6 лучших строковых функций VBA, включая LEN, LEFT, MID, Right, Instr и Trim, а также примеры и загружаемый шаблон Excel. Ниже приведены некоторые полезные статьи в формате Excel, связанные с VBA –

  • Правая функция VBA
  • Формула обрезки Excel
  • КРУГЛЫЕ формулы Excel
  • Функции рабочего листа в VBA

0 общих ресурсов

Поделиться

Твитнуть

Поделиться

Обучение VBA (3 курса, 12+ проектов)

  • 3 курса
  • 12 практических проектов
  • 43+ часа
  • Полный пожизненный доступ
  • Сертификат о прохождении курса

ПОДРОБНЕЕ >>

Функция VBA Mid — извлечение символов из середины строки

Возврат к примерам кода VBA

В этой статье

  • Средняя функция
    • Средняя функция Получить n символов
    • Средняя функция Получить n символов в переменной
    • Средняя функция Получить n символов из ячейки
    • Средняя функция Заменить n символов
    • 900 07 Средняя функция Извлечение второго слова из фразы

В этом руководстве показано, как использовать функцию Mid VBA для извлечения символов из середины текстовой строки.

Функция Mid

Функция Mid Получить n символов

Функция VBA Mid возвращает n символов из строки, начиная с позиции m:

 Sub MidExample_1()
MsgBox Mid("ABCDEFGHI", 4, 1) 'Результат: "D"
MsgBox Mid("ABCDEFGHI", 4, 2) 'Результат: "DE"
MsgBox Mid("ABCDEFGHI", 4, 50) 'Результат: "DEFGHI"

MsgBox Mid("ABCDEFG hI", 6, 1) 'Результат: "F"
MsgBox Mid("ABCDEFG hI", 6, 2) 'Результат: "FG"
MsgBox Mid("ABCDEFG hI", 6, 4) 'Результат: "FG h"
Конец сабвуфера
 

Средняя функция Получить n символов в переменной

Как показано выше, вы можете определить строку, просто введя текст, заключенный в кавычки. Но функция MID также будет работать со строковыми переменными. Эти примеры будут извлекать n символов из строки, начиная с позиции m.

 Sub MidExample_2()
Dim StrEx As String 'Определить строковую переменную

StrEx = "ABCDEFGHI"
MsgBox Mid(StrEx, 2, 1) 'Результат: "B"
MsgBox Mid(StrEx, 2, 2) 'Результат: "BC"
MsgBox Mid(StrEx, 2, 50) 'Результат: "BCDEFGHI"
Конец сабвуфера
 

Средняя функция Получить n символов из ячейки

Строки могут быть определены в коде VBA, но вы также можете использовать значения из ячеек. Прочитайте значение ячейки, сохраните его в строковой переменной и извлеките n символов из этого значения ячейки рабочего листа, начиная с позиции m.

 Sub MidExample_3()
Dim StrEx As String 'Определить строковую переменную

'Чтение значения ячейки A1 на листе Sheet1
StrEx = ThisWorkbook.Worksheets("Лист1").Range("A1").Значение
'Для этого примера значением ячейки A1 является "Да пребудет с тобой Сила"

MsgBox Mid(StrEx, 4, 6) 'Результат: " the F" (обратите внимание на пробел в начале)
MsgBox Mid(StrEx, 2, 8) 'Результат: "ay the F"
MsgBox Mid(StrEx, 3, 4) 'Результат: "y th"
Конец сабвуфера
 

Функция Mid Заменить n символов

В приведенных выше примерах функция Mid не изменила исходную строку. Он вернул часть, оставив исходную строку нетронутой. Функция Mid может использоваться для замены символов в строке.

 Sub MidExample_4()
Dim StrEx As String 'Определить строковую переменную

Sub MidExample_4()
Dim StrEx As String 'Определить строковую переменную

StrEx = "Да пребудет с тобой Сила"
Середина(StrEx, 5, 1) = "VWXYZ"
MsgBox StrEx 'Результат: "Да пребудет с вами Горс"
'Средняя функция нашла позицию 5 и заменила 1 символ в исходной строке

StrEx = "Да пребудет с тобой Сила"
Середина (StrEx, 5, 3) = "VWXYZ"
MsgBox StrEx 'Результат: "Да пребудет с вами VWX Horce"
'Средняя функция нашла позицию 5 и заменила 3 ​​символа в исходной строке

StrEx = "Да пребудет с тобой Сила"
Середина(StrEx, 5, 8) = "VWXYZ"
MsgBox StrEx 'Результат: "Да пребудет с вами VWXYZorce"
'Mid Function нашел позицию 5 и попытался заменить 8 символов. 
«VWXYZ» состоит всего из 5 символов, поэтому было заменено только 5 символов.
Конец сабвуфера
 

Функция Mid Извлечение второго слова из фразы

Мы можем использовать функцию VBA Mid с функцией VBA Instr для получения второго слова в тексте.

Функция VBA InStr может возвращать позицию символа внутри текста.

 InStr("Два слова", " ") 'Результат 4 

Мы можем использовать InStr, чтобы найти первый пробел, затем мы можем снова использовать InStr, начиная поиск после первого пробела, чтобы найти второй пробел в тексте. Наконец, мы можем использовать функцию Mid для извлечения слова, потому что мы знаем начальную позицию второго слова и его длину (разницу между позициями двух пробелов).

 Sub MidExample_5()
Dim StrEx As String 'Определить строковую переменную
Dim StartPos как целое число
Dim EndPos как целое число
Dim SecondWord как строка
StrEx = "Джеймс Эрл Джонс - актер"

StartPos = InStr(StrEx, " ")
'Результат 6
'Найти положение первого пробела

EndPos = InStr(StartPos + 1, StrEx, "")
'Результат 11
'Найти позицию второго пробела, начав поиск после первого пробела


SecondWord = Mid(StrEx, StartPos + 1, EndPos - StartPos - 1)
'Mid извлекает символы, начинающиеся после первого пробела (StartPos +1)
'Mid использует также длину второго слова. 
'Это разница между позициями пробелов -1

MsgBox Второе Слово
'Результат - Эрл

Конец сабвуфера
 

 

Кодирование VBA стало проще

Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области программирования и множеством функций, позволяющих сэкономить время для всех пользователей!

Узнать больше!

Надстройка примеров кода VBA

Удобный доступ ко всем примерам кода, найденным на нашем сайте.

Просто перейдите в меню, нажмите, и код будет вставлен прямо в ваш модуль. Надстройка .xlam.

(Установка не требуется!)

Скачать бесплатно

Функция VBA MID — javatpoint

следующий →
← предыдущая

В повседневной жизни Excel возникает много ситуаций, когда нам нужно получить первую подстроку, последнюю подстроку или среднюю подстроку. Мы можем положиться на формулы TEXT, чтобы выполнить наши требования в таких ситуациях. Хотя эти функции работают так же, как ссылка на рабочий лист Excel, синтаксис у них такой же. Одна такая функция VBA MID . Полезно извлечь среднюю строку из входной строки.

В этом учебном пособии вы познакомитесь с определением, синтаксисом, параметрами, типом возвращаемого значения и различными примерами, объясняющими, как написать код макроса с помощью функции VBA MID.

Что такое функция MID?

Функция VBA MID обычно используется для извлечения значений (обычно подстроки) из середины полнотекстовой строки. Он классифицируется как переменная типа String.

Функция VBA Mid позволяет пользователю извлекать среднюю часть строки из полнотекстовой строки. Лучшая часть строковых функций VBA заключается в том, что они не изменяют исходную строку. Вместо этого они вернут новую строку после изменения входной строки. Функция VBA Mid возвращает подстроку из предоставленного текста или строки.

Другими словами, функция VBA MID извлекает только среднюю часть входной строки. Например, например, если у вас есть строка «Sukla Rani Patra», здесь среднее значение равно «4», в этой строке начальная позиция извлекаемого символа равна 6, и нам нужно 6 символов от начальной позиции.

Эту функцию можно использовать как функцию VBA и функцию рабочего листа в Excel. Его можно использовать как часть формулы в ячейке. Функция VBA MID указана в текстовой категории функций VBA. Он просто работает как функция MID на листе Excel. Функция VBA MID классифицируется как переменная типа String.

Синтаксис

MID(строковая переменная, начальная точка, [длина])

ИЛИ

MID(строка_текста, начальный_номер, число_символов)

ИЛИ

Mid(string_to_search, начальная позиция, number_of_characters)

Параметр

  • String или text_string или string_to_search (обязательно): Аргумент String представляет длину строки, которую мы пытаемся извлечь.
  • Начальная точка или start_number (обязательно): Этот параметр представляет номер символа, с которого начинается извлечение подстроки.
  • Длина или количество символов (необязательно): Этот аргумент длины представляет собой количество символов, которые вы хотите извлечь из начальной позиции.

Возврат

Функция VBA MID обычно используется для извлечения значений (обычно подстроки) из середины полнотекстовой строки.

Незабываемые моменты

  1. Функция VBA MID возвращает строковый вывод для заданной строки.
  2. ЕСЛИ указанный строковый аргумент имеет значение Null, эта функция возвращает значение Null в качестве выходных данных.
  3. В этой функции, если параметр start_number больше, чем длина аргумента text_string, функция VBA MID возвращает пустую строку (нулевой длины) в качестве вывода.

Примеры

# Пример функции MID 1: Получить отчество из строки «Sukla Rani Panda».

VBA MID — это одна из встроенных функций, которую многие пользователи используют для получения только части строки (обычно средней подстроки) или значения, заданного пользователем.

Ниже приведены шаги для написания макроса VBA для извлечения отчества из указанной строки с использованием функции VBA Left:

Шаг 1: Откройте вкладку разработчика VBA. Перейдите на рабочий лист Excel, на вкладке ленты щелкните окно разработчика -> визуальный базовый редактор или напрямую щелкните ключевые слова быстрого доступа Alt + F11.

Шаг 2: Появится окно редактора VB. Следующим шагом будет создание модуля. На вкладке ленты нажмите «Вставить» -> «Нажмите на модуль».

Шаг 3: Вы заметите, что VBA вставит новое окно модуля. Запустите программу, введя имя макроса, за которым следует объявление переменной.

См. приведенный ниже код макроса:

Подпрограмма MID_Function _Example1()
‘Объявление строковой переменной
Dim MidNme как строка
Конец сабвуфера

Шаг 4: Далее мы включим функцию VBA MID. В аргументах мы передадим String, start_character, то есть 6, а в аргументе длины мы передадим 5, так как мы хотим извлечь первые 4 символа нашей средней подстроки.

Сохраните полученное значение в нашей переменной и позже верните переменную с помощью MsgBox.

Подпрограмма MID_Function_Example1()
‘Объявление строковой переменной
Dim MidNme как строка
‘Использование функции Mid для извлечения отчества
MidNme = Mid(«Шукла Рани Панда», 6, 5)
‘возврат вывода
MsgBox MidNme
Конец сабвуфера

Выход

Запустите макрос, нажав кнопку «Выполнить» или нажав клавишу F5. В результате вы заметите, что VBA сгенерирует MsgBox, отображающий среднюю строку.

Макрос извлек 4 средних символа из строки «Sukla Rani Panda». Таким образом, на выходе будет отображаться второе имя, то есть «Рани».

#MID Пример 2. Извлеките отчество из списка ячеек Excel с помощью функции VBA MID.

Преимущество языка VBA в том, что его можно написать несколькими способами. Вы можете назначить макрос VBA MID своей активной кнопке, и он будет выполнять операцию макроса всякий раз, когда нажимается событие. Используя событие, вы можете извлечь отчество сразу для всех ваших данных.

Ниже приведены шаги для написания макроса VBA для удаления нежелательных символов пробела из заданной строки с помощью функции VBA TRIM:

Шаг 1: Откройте рабочий лист Excel. На вкладке ленты щелкните окно разработчика -> визуальный базовый редактор или непосредственно щелкните ключевые слова быстрого доступа Alt + F11.

Шаг 2: Появится окно редактора VB. Следующим шагом будет создание модуля. На вкладке ленты нажмите «Вставить» -> «Нажмите на модуль».

Шаг 3: Окно Moule будет вставлено. Запустите программу с именем макроса, за которым следует объявление переменной. Установите значение переменной с выбором Excel.

См. следующий код макроса:

Подпрограмма MID_Function_Example2()
‘Объявить переменную
Дим и пока
Конец сабвуфера

Шаг 4: Поскольку нам нужно повторить функцию для следующих ячеек, мы будем использовать цикл For. Внутри это обрежет строку и сохранит значение в ячейке Excel. После этого мы отобразим примечание к сообщению, используя VBA MsgBox.

Подпрограмма MID_Function_Example2()
‘Объявить переменную
Дим и пока
‘Цикл для повторения формулы для каждой ячейки
Для я = 3 до 11
‘использование функции MID для извлечения средних значений
Ячейки(i, 2).Value = Mid(Cells(i, 1).Value, 1, InStr(1, Cells(i, 1).Value, «,») — 1)
Далее я
Конец сабвуфера

Шаг 5: Когда мы закончим писать код, мы закроем окно редактора VBA. Снова перейдите на лист Excel, щелкните меню «Разработчик» -> «Вставить».

Как показано ниже, вы получите раскрывающееся меню, отображающее элементы управления формы и элементы управления ActiveX. Выберите вариант кнопки из списка.

Шаг 6: С помощью курсора мыши нарисуйте форму кнопки в любом месте листа Excel. Присвоить макросу имя, а также можно выбрать из списка созданных макросов. Здесь мы выбрали MID_Function_Example2. Нажмите «ОК».

В результате кнопка будет создана в выбранной позиции листа Excel. Вы также можете изменить имя, дважды щелкнув его вверху. Здесь мы упомянули функцию MID.

Шаг 7: Последний шаг — назначить макрос этой кнопке. Щелкните правой кнопкой мыши кнопку MID . Появится окно с доступными макросами. Выберите Marco с именем «MID_Function_Example2» и нажмите «ОК». После этого Excel назначит макрос этой кнопке.

Выход

Мы вставим несколько текстовых строк в разные ячейки, чтобы протестировать приведенный выше макрос.

Для тестирования выберите ячейки с данными и нажмите кнопку MID.

В результате вы заметите, что все отчества были извлечены из списка ячеек.

# Пример функции MID 3: Программа VBA MID возвращает пустую строку.

Иногда вы получаете пустую строку, даже если вся логика верна. Такая ошибка чаще всего возникает, если параметр start_number больше, чем длина аргумента text_string. Давайте посмотрим на пример, где программа VBA MID вернет пустую строку:

Шаг 1: Откройте вкладку разработчика VBA. Перейдите на рабочий лист Excel, на вкладке ленты щелкните окно разработчика -> визуальный базовый редактор или напрямую щелкните ключевые слова быстрого доступа Alt + F11.

Шаг 2: Появится окно редактора VB. Следующим шагом будет создание модуля. На вкладке ленты нажмите «Вставить» -> «Нажмите на модуль».

Шаг 3: Вы заметите, что VBA вставит новое окно модуля. Запустите программу, введя имя макроса, за которым следует объявление переменной.

См. приведенный ниже код макроса:

Подпрограмма MID_Function _Example3()
‘Объявление строковой переменной
Dim MidNme как строка
Конец сабвуфера

Шаг 4: Далее мы включим функцию VBA MID. В аргументах мы будем передавать строку, начальный_символ, т. е. 26, а в аргументе длины мы будем передавать 15.

Imacros | Все права защищены © 2021