Страницы: 1
RSS
Разложение текста на части
 
Здравствуйте. Подскажите пожалуйста как можно сделать такую штуку. Есть к примеру ячейка содержащая следующий текст "105-2, 30-3/3, 111-2/2", необходимо что бы код выбрал и "вытащил" текст от 105 до первого встречного знака "/" со следующим за ним значением (а именно что бы получилось "105-2, 30-3/3"). А в другов случае что бы от 111 (и получился такой результат "111-2/2"). Вытащинные данные нужно хранить в какой то одной переменной по очереди. Т.Е. текст нужно выбирать от определенного заданного значения до определенного значения с +1 значением после него. В файле пример значений и что должно получиться.
 
Цитата
необходимо что бы код...
А чем штатные средства не устраивают? Данные - Работа с данными - Текст по столбцам - С разделителем (Запятая).
Изменено: Sanja - 14.04.2015 20:38:51
Согласие есть продукт при полном непротивлении сторон
 
Gremlen, а как Вы планируете задавать поиск, по маске?
 
Есть отчет который нужно рассчитать по данным имеющимся на соседнем листе. Пример отчета и возможные данные в файле. Расчет первого и второго столбца я знаю как сделать, а вот 3 и 4 загвоздка.  
 
Чет не очень понятно вот на втором листе номера разложите в соседних столбцах в каких вариантах вы хотите их видеть
Лень двигатель прогресса, доказано!!!
 
Блин плохой:(из меня объясняльщик. Но попробую еще раз, во вложении на лисе 1 написал что мне нужно в итоге получить.
 
ну вариант как понял из объяснений
Лень двигатель прогресса, доказано!!!
 
ДА ДА ДА:D То что надо только допустил ошибку, что за / брать не +1 а +2, и если это там есть "," то ее убрать. Короче так получилось. Спасибо Сергей, снова выручил. Вот как теперь работу данной формулы перевести в VBA код?:(
Код
=ПОДСТАВИТЬ(ПСТР(ПСТР(C6;ПОИСК("105";C6);99);ПОИСК("/";ПСТР(C6;ПОИСК("105";C6);99))+1;2);",";"")
 
включить макрорекодер вставить данную формулу куда нужно протянуть скопировать вставить туда же как значения выключить макрорекодер самый простейший вариант
более трудный изучить VBA + регулярные выражения плюнуть на данную формулу сварганить шаблон самостоятельно и наслаждаться сделанным нажимая один раз на кнопку
Лень двигатель прогресса, доказано!!!
 
функция:
Код
Function УК(str As String, krit As String) ' As Integer
'krit - номер искомой статьи УК РФ
УК = "амнистия"
a = Split(str, ",")
For Each x In a
  If x Like "*" & krit & "*" Then
    If Split(x, "-")(1) Like "*/*" Then
    УК = Split(x, "/")(1)
    Else
    УК = Split(x, "-")(1)
    End If
Exit For
  End If
Next
End Function

Изменено: k61 - 15.04.2015 10:04:32 (Добавил возможность указания искомой статьи. Кросс (cyberforum).)
Страницы: 1
Наверх