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

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

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

Восстановить пароль
Повторная активизация e-mail

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

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

Выдать сообщение в диалоговом окне: в какой из клеток А3 или В3 записано более длинное слово (или их длины равны). Проверить все варианты.

Какой функцией проверить длину слова? Или как определить длину?
TI_ProJecT вне форума Ответить с цитированием
Старый 06.11.2011, 19:36   #2
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

если речь идёт об Экселе, то надо на VBA написать макрос например такой
Код:
Sub zzzzzz()
    Select Case Len(Range("A3").Text) - Len(Range("B3").Text)
      Case Is < 0
        MsgBox "Слово в В3 длиннее!"
      Case Is > 0
        MsgBox "Слово в A3 длиннее!"
      Case Else
        MsgBox "Длины слов равны!"
    End Select
End Sub
Camaro Chevelle вне форума Ответить с цитированием
Старый 06.11.2011, 19:40   #3
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Camaro Chevelle Посмотреть сообщение
если речь идёт об Экселе, то надо на VBA написать макрос например такой
Код:
Sub zzzzzz()
    Select Case Len(Range("A3").Text) - Len(Range("B3").Text)
      Case Is < 0
        MsgBox "Слово в В3 длиннее!"
      Case Is > 0
        MsgBox "Слово в A3 длиннее!"
      Case Else
        MsgBox "Длины слов равны!"
    End Select
End Sub
Написал тоже самое, но через If.
Но моя версия не работает на Len жалуется.
У вас все заработало, спасибо большое.

Последний раз редактировалось TI_ProJecT; 06.11.2011 в 19:42.
TI_ProJecT вне форума Ответить с цитированием
Старый 06.11.2011, 19:44   #4
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Если второй символ слова в клетке А4 - согласная, то в клетку В4 записать строку, содержащую пять символов звездочка, иначе - строку, содержащую три символа &.

Сделать надо через Like, вопрос такой, каким образом проверить вторую букву на согласность? Будет:
Код:
If Cells(1, 4).Value Like "?[согласные буквы]"
На место вопроса, что поставить? или я не правильно что то делаю?
TI_ProJecT вне форума Ответить с цитированием
Старый 06.11.2011, 20:00   #5
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

думаю так не выйдет. надо по всем согласным буквам пройтись, используя функцию mid$
Camaro Chevelle вне форума Ответить с цитированием
Старый 06.11.2011, 20:03   #6
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

ой, там через лайк надо?
ну тогда пройтись по всем согласным используя в лайке образец "?x*", вместо х подставлять каждую согласную
вообще наверно есть получше способ, я лайками никогда не пользовался и вообще уже давным-давно не прогал на vba
Camaro Chevelle вне форума Ответить с цитированием
Старый 06.11.2011, 20:09   #7
TI_ProJecT
Пользователь
 
Регистрация: 06.11.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Camaro Chevelle Посмотреть сообщение
ой, там через лайк надо?
ну тогда пройтись по всем согласным используя в лайке образец "?x*", вместо х подставлять каждую согласную
вообще наверно есть получше способ, я лайками никогда не пользовался и вообще уже давным-давно не прогал на vba
Спасибо,сейчас попробую так.

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

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

2)Содержимое ячейки Е5 разнести в три ячейки А8, В8, С8: отдельно фамилию имя, отчество.

Какими тут функциями пользоваться?
TI_ProJecT вне форума Ответить с цитированием
Старый 06.11.2011, 20:12   #8
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

mid$ и instr либо instrrev. ещё лучше юзай Split

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

Цитата:
Сообщение от Camaro Chevelle Посмотреть сообщение
mid$ и instr либо instrrev
Код:
Sub pr4()
x = [á,â,ã,ä,æ,ç,ê,ë,ì,í,ï,ð,ñ,ò,é,ö,ø,ù]
If Cells(4, 1).Value Like "?x*" Then MsgBox "yaeh" Else MsgBox "yw2eh"
End Sub
Не получилось так.
TI_ProJecT вне форума Ответить с цитированием
Старый 06.11.2011, 20:19   #10
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

а так и не получится, у тебя x в строке после лайк это не переменная, используемая в проге, а символ. я если честно не в курсе что значит такая штука х=[a,b,c,d,e] похоже на множество как в паскале но вроде не оно, поэтому заранее загоняешь в массив согласные буквы и потом сравниваешь внутри цикла с каждым из них

Последний раз редактировалось Camaro Chevelle; 06.11.2011 в 20:27.
Camaro Chevelle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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