2016-06-02 5 views
0

У меня есть форма с 2 текстовыми полями и командной кнопкой. То, что я хочу сделать в VBA, - это скопировать часть текста с text1 на text3, когда нажата кнопка cmd. Например, часть строки #&!4848484848484 ^totot/euhen^ gjrlsmdkkkd в text1 для копирования в text3 равна totot/euhen, поэтому никаких фиксированных номеров или мест раньше не должно быть, так или иначе, должно быть указано на символ ^. То есть text3 = что-то между ^ и ^.Извлечь подстроку из строки между двумя специальными символами, такими как^abc^в VBA

+3

'Split (текст,"^") (1)' – omegastripes

+0

@omegastripes Напишите это как ответ, как это бывало. –

ответ

2

Самый простой способ заключается в использовании Split функцию, добавьте следующий код в форму пользователя:

Private Sub CommandButton1_Click() 
    Dim aTmp 
    aTmp = Split(TextBox1.Value, "^", 3) 
    If UBound(aTmp) = 2 Then TextBox3.Value = aTmp(1) 
End Sub 

Этот код разделяет исходный текст на ^ характер и помещает части в массиве. Длина массива ограничена тремя элементами с индексами 0..2. Таким образом, строка образца #&!4848484848484 ^totot/euhen^ gjrlsmdkkkd разделена на #&!4848484848484, totot/euhen, gjrlsmdkkkd массив. Затем массив проверяется, если он имеет 3 элемента, это означает, что найдены 2 ^ символов, текст для захвата находится во втором элементе.

Смежные вопросы