Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 05:33   #11
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Camaro Chevelle Посмотреть сообщение
а так и не получится, у тебя x в строке после лайк это не переменная, используемая в проге, а символ. я если честно не в курсе что значит такая штука х=[a,b,c,d,e] похоже на множество как в паскале но вроде не оно, поэтому заранее загоняешь в массив согласные буквы и потом сравниваешь внутри цикла с каждым из них
Переписал с Like, получилось.
Цитата:
В клетке E5 - Иванов Иван Иванович

1)В клетке А7 получить строку "Фамилия И.О." (например,"Иванов И.И."), используя данные клетки Е5.

2)Содержимое ячейки Е5 разнести в три ячейки А8, В8, С8: отдельно фамилию имя, отчество.
Делаю эти, так как не особо пока разобрался с функциями.
Не могу понять, как в задании 1)нам брать значения после первого,а потом и после второго пробела?
А в задании 2) не могу разобраться с TextToColumns

Последний раз редактировалось TI_ProJecT; 07.11.2011 в 06:36.
TI_ProJecT вне форума Ответить с цитированием
Старый 07.11.2011, 08:17   #12
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

в 1) можно позицию первого пробела получить с помощью instr, а для второго instrrev. обрати внимание, что эти функции по своей сути одинаковые, порядок аналогичных аргументов в них почему-то разный, я уж не помню какой где. далее с помощью mid вырываем следующий за пробелом символ и прописываем его в требуемую ячейку
2) я бы просто не юзал texttocolumns, чё-то уж больно много там параметров, в лом разбираться. никак проще-то не сделать?

Последний раз редактировалось Camaro Chevelle; 07.11.2011 в 08:20.
Camaro Chevelle вне форума Ответить с цитированием
Старый 07.11.2011, 08:23   #13
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

хотя в принципе всё более-менее ясно с этим TextToColumns, читай справку по VBA
Camaro Chevelle вне форума Ответить с цитированием
Старый 07.11.2011, 08:37   #14
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Camaro Chevelle Посмотреть сообщение
хотя в принципе всё более-менее ясно с этим TextToColumns, читай справку по VBA
В том то и дело, прочитал, сделал, нашел подобные примеры, ничего не происходит, либо ошибка.
TI_ProJecT вне форума Ответить с цитированием
Старый 07.11.2011, 08:56   #15
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Код:
Sub MacroSplit()
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To iLastRow
Cells(i, 2) = Split(Cells(i, 1), ",")(0)
Cells(i, 3) = Split(Cells(i, 1), ",")(1)
Cells(i, 4) = Split(Cells(i, 1), ",")(2)
Cells(i, 5) = Split(Cells(i, 1), ",")(3)
Cells(i, 6) = Split(Cells(i, 1), ",")(4)
Cells(i, 7) = Split(Cells(i, 1), ",")(5)
Cells(i, 8) = Split(Cells(i, 1), ",")(6)
Next
End Sub
TI_ProJecT вне форума Ответить с цитированием
Старый 07.11.2011, 08:57   #16
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Код:
Sub Very_Difficult_Macro()
    [A1].TextToColumns [A1], xlDelimited, Comma:=True
End Sub
Вот то что нашел на форумах, задание такое же, только у меня пробел вместо запятой, но не работает все равно.
TI_ProJecT вне форума Ответить с цитированием
Старый 07.11.2011, 17:26   #17
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Цитата:
В клетке E5 - Иванов Иван Иванович

1)В клетке А7 получить строку "Фамилия И.О." (например,"Иванов И.И."), используя данные клетки Е5.
Код:
Public Sub prog7()
k = 1
Do While Mid(Cells(5, 5), k, 1) <> " "
k = k + 1
Loop
p = Mid(Cells(5, 5), 1, k - 1)
InStr
End Sub
Как дальше делать не знаю, фамилию я вывел, а как получить инициалы?
TI_ProJecT вне форума Ответить с цитированием
Старый 07.11.2011, 21:18   #18
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

да ну, всё проще.
Код:
dim p as string
k=instr(1, cells(5, 5), " ")
p=mid$(cells(5, 5), 1, k-1) & " " & mid$(cells(5, 5), k+1, 1) & ". " & mid$(cells(5, 5), instrrev(cells(5, 5), " ")+1, 1) & "."
как-то так наверно лучше. взято от балды, я ничего не проверял, но суть такая вроде. в переменную p тут запишется, можно без неё сразу в нужную ячейку записать

Последний раз редактировалось Camaro Chevelle; 07.11.2011 в 21:20.
Camaro Chevelle вне форума Ответить с цитированием
Старый 08.11.2011, 16:04   #19
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Camaro Chevelle Посмотреть сообщение
да ну, всё проще.
Код:
dim p as string
k=instr(1, cells(5, 5), " ")
p=mid$(cells(5, 5), 1, k-1) & " " & mid$(cells(5, 5), k+1, 1) & ". " & mid$(cells(5, 5), instrrev(cells(5, 5), " ")+1, 1) & "."
как-то так наверно лучше. взято от балды, я ничего не проверял, но суть такая вроде. в переменную p тут запишется, можно без неё сразу в нужную ячейку записать
Спасибо большое все работает, буду разбираться, как это работает)
TI_ProJecT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строкой в С++ X_RaY Помощь студентам 1 10.10.2011 18:27
работа с строкой Windetta Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 20.05.2011 23:28
Работа с строкой. celovec Общие вопросы Delphi 8 06.04.2011 16:17
Работа со строкой s2dentishe Общие вопросы Delphi 6 05.12.2009 15:09
работа со строкой. D_E_N Общие вопросы Delphi 4 25.10.2009 16:19