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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2011, 20:53   #11
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от Bape}l{ka Посмотреть сообщение
нет, знаете, Казанский, так удаляется все из ячейки, в том числе и слова, а мне надо чтобы только знаки препинания =т
Да, со знаком вопроса лоханулся.
А с кавычкой просто - внутри текстовой строки ее нужно удвоить:
Код:
Sub bb()
Dim x
For Each x In Split(", . ; : ~? ! """)
    Selection.Replace What:=x, Replacement:="", LookAt:=xlPart
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.07.2011, 10:56   #12
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

спасибо всем, способ nilem-a и Казанского работает на выделении)) правда, если заменять "~?" на "~?"

Код:
For Each x In Array(",", ".", "...", ";", ":", "~?", "!", Chr(34))
    Selection.Replace What:=x, Replacement:=" " & x
Next
то в итоге в тексте ? становится ~? =ь ну это уже мелочи)) спасибо всем)))


п.с. подскажите пожалуйста, что такое Chr(34) ?? из справки я поняла, что это объявление типа лонг.. а поконкретнее можете сказать? в данном случае в частности, а то я тонкости не улавливаю. это получается, что таким образом мы перечисляем элементы массива, а не указываем его размерность?
Bape}l{ka вне форума Ответить с цитированием
Старый 14.07.2011, 11:26   #13
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Selection.Replace What:=x, Replacement:=" " & x
то в итоге в тексте ? становится ~? =ь ну это уже мелочи))
ну... как написали, так и становится...
подозреваю надо так:
Selection.Replace What:=x, Replacement:=""

Chr - это функция, которая возвращает символ по его порядковому номеру. В справке все об этом написано, читайте там. Chr(34) = """"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.07.2011, 11:33   #14
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

нет, я подумала, что удаление знаков препинания может быть критично, поэтому решила просто пробелов добавить.. мне для точного поиска подходит, и текст особо не страдает =ь

спасибо за разъяснения!
п.с.: не знаю, может у меня какая другая справка или я ей пользоваться не умею Т_Т
Bape}l{ka вне форума Ответить с цитированием
Старый 14.07.2011, 13:17   #15
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

допустим, заменить на пробелы - это нормально
Selection.Replace What:=x, Replacement:=" " & x но зачем там & x???
а Chr надо искать не в справке по Excel, а в VBA - там есть это (и много полезного другого)
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.07.2011, 16:37   #16
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

Цитата:
Selection.Replace What:=x, Replacement:=" " & x
это чтобы знаки препинания тоже оставались, просто к ним пробелы цепляю.. или я что-то не так понимаю?

п.с. и конечно я ищу в справке VBA (а предложенный способ по F1 чво-та у меня вообще не работает)
Bape}l{ka вне форума Ответить с цитированием
Старый 14.07.2011, 16:44   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Selection.Replace What:=x, Replacement:=" " & x
ни одного знака препинания это не заменит, это добавит по пробелу пред знаками препинания.
проведите смелый эксперимент и убедитесь в этом сами.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.07.2011, 16:52   #18
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

Цитата:
это добавит по пробелу пред знаками препинания
так это и требуется) уже ж все опробовано)))
Bape}l{ka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в массиве edikamn Microsoft Office Excel 5 31.12.2010 12:03
Поиск в массиве Aleksandr Помощь студентам 3 30.01.2010 19:51
Поиск в массиве VladimirAleks Общие вопросы Delphi 3 06.11.2009 15:00
Поиск в массиве ADSoft PHP 1 07.08.2009 11:17
Поиск в массиве Paul_AG Общие вопросы C/C++ 9 03.06.2009 01:29