Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вытаскивание нужной информации из ячеек / 8 сообщений из 8, страница 1 из 1
15.03.2007, 11:42:24
    #34392632
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
Всем привет!
Есть столбец с информации след. типа
........ (Страна/фирма)
Мне нужно сделать так:
........ фирма
Делаю так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub A_2()
On Error Resume Next
Dim n1, n2, n3, n0 As Integer

For i =  1  To ActiveCell.SpecialCells(xlLastCell).Row
If Cells(i,  1 ).Value = "" Then GoTo Label1
n0 = Len(Cells(i,  1 ).Value)
n1 = InStr( 1 , Worksheets( 1 ).Range("A" & i).Text, "(")
'Cells(i, 2).Value = n1
n2 = InStr( 1 , Worksheets( 1 ).Range("A" & i).Text, "/")
'Cells(i, 3).Value = n2
n3 = InStr( 1 , Worksheets( 1 ).Range("A" & i).Text, ")")
'Cells(i, 4).Value = n3
Cells(i,  5 ).Value = Left(Cells(i,  1 ).Value, n1 -  1 ) & Mid(Cells(i,  1 ).Value, n2 +  1 , n0 - n2 -  1 )
Label1:
Next i
End Sub
Сдесь первое вхождение символов с левой стороны.
Так все получается, но бывает что информация имеет другой вид :

........ (бла-бла/бла-бла) ... (Страна/фирма)
Тут уже код не подходит. Т.е мне нужно применить подобные действия, но только с правой стороны. Возможно ли такое или можно как-то по другому сделать?
...
Рейтинг: 0 / 0
15.03.2007, 12:45:07
    #34392974
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
InstrRev смотри
...
Рейтинг: 0 / 0
15.03.2007, 13:21:26
    #34393133
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
...
Рейтинг: 0 / 0
15.03.2007, 13:22:48
    #34393136
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
Если так
Код: plaintext
n1 = InStrRev( 1 , Worksheets( 1 ).Range("A" & i).Text, "(")
то ошибка №13 . Чё-то не пойму в чем дело
...
Рейтинг: 0 / 0
15.03.2007, 13:41:13
    #34393224
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
andMegaMЕсли так
Код: plaintext
n1 = InStrRev( 1 , Worksheets( 1 ).Range("A" & i).Text, "(")
то ошибка №13 . Чё-то не пойму в чем дело

у неё синтаксис другой,
а если сделаешь, как vkodor советует, то вообще проблем не будет


vkodor Есть ли в формулах Excel регулярные выражения?
...
Рейтинг: 0 / 0
15.03.2007, 13:45:21
    #34393242
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
авторДля подключения, зайдите в Project->References и поставьте флажок у VBScript Regular Expressions. Теперь к Visual Basic добавился объект RegExp, который содержит в себе все, что нужно для работы с регулярными выражениями.
Не могу этого сделать. Где эти настройки по-подробнее можно
...
Рейтинг: 0 / 0
15.03.2007, 14:10:23
    #34393371
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
У меня 2003 офис.
Может Tools->References ? Но там нет пункта VBScript Regular Expressions. Как быть?
...
Рейтинг: 0 / 0
15.03.2007, 14:14:15
    #34393392
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вытаскивание нужной информации из ячеек
andMegaMУ меня 2003 офис.
Может Tools->References ? Но там нет пункта VBScript Regular Expressions. Как быть?
Microsoft VBScript Regular Expressions
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вытаскивание нужной информации из ячеек / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]