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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.11.2008, 16:40   #1
Михалыч01
Новичок
Джуниор
 
Регистрация: 06.11.2008
Сообщений: 1
По умолчанию Нужен макрос Excel по поиску и замене

Помогите составить макрос!
Нужно в выделенном диапозоне найти несколько ненужных значений и заменить их на пустое значение, т.е. убрать (фактически стандартный поиск и замена, только множественный).

Для чего: в столбце есть куча ячеек со значениями: 7 сот, 47 соток, 15сот., 6сотк., 22.7 сотки и тп - нужно оставить только числа (и если возможно их округлить или убрать значение после ./,)
Заранее спасибо!)
Михалыч01 вне форума
Старый 06.11.2008, 17:21   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Щелкните правой кнопкой на ярлычке листа, и выберите пункт Исходный текст
В открывшемся редакторе VBA введите следующий код:

Код:
Sub ClearText()
    Dim ce As Range
    For Each ce In Selection.Cells
        cv = Val(ce.Value): ce.Value = IIf(cv = 0, "", Fix(cv))
    Next
End Sub
После этого выделяете диапазон ячеек для обработки, и запускаете макрос ClearText
EducatedFool вне форума
Старый 06.11.2008, 18:03   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вот эта формула:
Код:
=ОКРУГЛ(МАКС(ЕСЛИ(ЕОШ(ЗНАЧЕН(ПСТР(RC[1];1;СТОЛБЕЦ(ДВССЫЛ("R1C1:R1C10";)))));;ЗНАЧЕН(ПСТР(RC[1];1;СТОЛБЕЦ(ДВССЫЛ("R1C1:R1C10";))))));)
может преобразовать значение в ячейке до числа, с которого эта ячейка начинается с округление до целого.
т.е.
7 сот -> 7
47.3 соток -> 47
15сот. -> 15
22.7 сотки -> 23 (за счет округления)

формулу необходимо вводить, как формулу массива. Вместо RC[1] два раза указать ссылку на ячейку, которую необходимо преобразовать. Если в исходной ячейке много символов необходимо R1C10 заменить на R1C100, например, (снова два раза). Теперь в числе может содержаться до 100 цифр (до этого было 10)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос перехода на заданный лист в excel Руслан Набиуллин Microsoft Office Excel 2 06.08.2008 20:46
очень срочно нужен макрос на транспонирование таблицы kievlyanin Microsoft Office Excel 10 25.06.2008 13:20
макрос VBA Excel Bor Microsoft Office Excel 5 25.01.2008 12:20
Макрос в Excel для обработки группы файлов ad_sum Microsoft Office Excel 1 29.12.2007 16:56