Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Удаление пустых ячеек, с текстом нулевой длины, с нулями, Есть способ
 
Здравствуйте, уважаемые форумчане! Есть способ удаления пустых ячеек, с текстом нулевой длины, с нулями из диапазона без макросов. В основе способа формула массива Многоразовый ВПР. Сам долго искал, так может помогу кому-нибудь. См. пример. Там всё просто.
Изменено: DS74 - 19 июн 2013 17:07:40
 
DS74, да ну их эти массивы. 1 доп.столбец и ВПР.
 
ИМХО проще руками на месте.  ;)  Заменить формулы на значения, ctrl+h - заменить пусто на 0, потом 0 на пусто, выделить пустые, удалить. Все быстрей, чем вводить сложные формулы(а потом же их надо еще на значения менять и переносить на место исходного диапазона с предварительной его очисткой).
Я сам - дурнее всякого примера! ...
 
Nic70y, хороший вариант. Так и хочется спросить: где вы раньше были, когда я два дня голову ломал над проблемой?  ;)
KuklP
, ваш вариант хорош для продвинутых пользователей. А когда надо получить результаты в автоматическом режиме, что бы некоторые, с не очень прямыми руками, не лазили по таблицам, то...
 
KuklP, спасибо большое! несколько заходов сделал для поиска решения и вот наконец-то ваш совет помог)

Суть как и выше описано, но повторю конкретно свой пример.
Есть таблица, в которой много ячеек, значение которых является результатом вычисления формулы ="",
так вот эта таблица скопирована и вставлена на новый лист по условию "только значения",
в итоге визуально много пустых ячеек , не содержащих значения и формулы, которые необходимо удалить со сдвигом вверх,
но функция поиска пустых ячеек их не замечает, для того чтобы эти ячейки корректно воспринимались как пустые, необходимо:

1) Функцией меню "найти и заменить", в которой поле "найти" оставляем пустым, а в поле "заменить на" любое уникальное значение, например "fordelete", и заменяем все ячейки.
2) Снова повторяем функция меню "найти и заменить", но теперь с обратными значениями, т.е., в поле найти "fordelete", а в  поле "заменить на" теперь пусто, и снова заменяем все ячейки.

В результате этой процедуры пустые ячейки, теперь по-настоящему пустые.
Например, теперь можно воспользоваться способом 1. отсюда ссылка , который до этого на мою таблицу не действовал.

vba для выделенного диапазона:

   Selection.Replace What:="", Replacement:="del", LookAt:=xlPart, _
       SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
   
   Selection.Replace What:="del", Replacement:="", LookAt:=xlPart, _
       SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False

// Повторюсь, что в сообщение KuklP написано абсолютно тоже самое, просто повторил подробнее, для новичков вроде меня)
Изменено: AlexAlex1 - 11 дек 2016 00:43:27
Страницы: 1
Читают тему (гостей: 1)
Наверх