Добрый день, коллеги. Хочу попросить поделиться советом, чем можно заменить данный код? Организовал через For Each но на большом массиве данных медленно работает, понимаю что это правильнее через библиотеку или массив, но они мне пока что мне подвластны. Зачем нужен Delete на пустой ячейке? - при сохранении с 1с пустые ячейки часто имеют или 1 пробел или РЕАЛЬНО ОНИ ПУСТЫЕ но в то же время проводить мат.операции с ними невозможно пока не делитнишь по каждой из этих ячеек, возвращает "ЗНАЧ", поэтому сделал себе "волшебную кнопку", но очень хочется её ускорить.
[vba]
Код
'Пробегает по каждой ячейки всего выделенного диапазона листа и нажимает делит на всех ячейках в которых пустота или 1 пробел Sub ClearNullContents() For Each cell In Selection If Len(cell) = 0 Or cell.Value = " " Then cell.ClearContents Next End Sub
[/vba]
Файлик приложил
Заранее спасибо.
Добрый день, коллеги. Хочу попросить поделиться советом, чем можно заменить данный код? Организовал через For Each но на большом массиве данных медленно работает, понимаю что это правильнее через библиотеку или массив, но они мне пока что мне подвластны. Зачем нужен Delete на пустой ячейке? - при сохранении с 1с пустые ячейки часто имеют или 1 пробел или РЕАЛЬНО ОНИ ПУСТЫЕ но в то же время проводить мат.операции с ними невозможно пока не делитнишь по каждой из этих ячеек, возвращает "ЗНАЧ", поэтому сделал себе "волшебную кнопку", но очень хочется её ускорить.
[vba]
Код
'Пробегает по каждой ячейки всего выделенного диапазона листа и нажимает делит на всех ячейках в которых пустота или 1 пробел Sub ClearNullContents() For Each cell In Selection If Len(cell) = 0 Or cell.Value = " " Then cell.ClearContents Next End Sub
У меня вторая часть Мяу не отрабатывает Предложу так [vba]
Код
Sub ГАВ() Selection.Replace What:=" ", Replacement:=Empty, LookAt:=xlWhole Selection.TextToColumns Destination:=Selection(1) End Sub
[/vba] Почему ГАВ? Это не против Мяу, это мои ФИО. Один минус - лечить придется отдельно каждый столбец. Зато можно не морочиться с Селекшном, а выделять тупо весь столбик
У меня вторая часть Мяу не отрабатывает Предложу так [vba]
Код
Sub ГАВ() Selection.Replace What:=" ", Replacement:=Empty, LookAt:=xlWhole Selection.TextToColumns Destination:=Selection(1) End Sub
[/vba] Почему ГАВ? Это не против Мяу, это мои ФИО. Один минус - лечить придется отдельно каждый столбец. Зато можно не морочиться с Селекшном, а выделять тупо весь столбик_Boroda_
Всем добрый вечер. Ссори что не отписался изначально, но только сейчас удалось добраться до форума.
Спасибо всем откликнувшимся, пока что на НЕОЧЕНЬ большом массиве инфо тестировал все три варианта _Boroda_, RAN, nilem - визуально по скорости быстрее всего отработал вариант Ran, скажем так - мгновенно, в варианте у nilem ощутил небольшую задержку (примерно такую как и в моём макросе). В варианте _Boroda_ - есть одно большое НО - макрос сказал "БУДУ РАБОТАТЬ ТОЛЬКО В ОДНОМ СТОЛБЦЕ" при выделении 4000 строк и 24 столбца работать не захотел.
Когда будет большой массив данных чуть позже, протестирую еще раз. Но пока что остановлюсь на варианте Ran "Sub Мяу_Мяв()"
Спасибо всем за помощь.
Всем добрый вечер. Ссори что не отписался изначально, но только сейчас удалось добраться до форума.
Спасибо всем откликнувшимся, пока что на НЕОЧЕНЬ большом массиве инфо тестировал все три варианта _Boroda_, RAN, nilem - визуально по скорости быстрее всего отработал вариант Ran, скажем так - мгновенно, в варианте у nilem ощутил небольшую задержку (примерно такую как и в моём макросе). В варианте _Boroda_ - есть одно большое НО - макрос сказал "БУДУ РАБОТАТЬ ТОЛЬКО В ОДНОМ СТОЛБЦЕ" при выделении 4000 строк и 24 столбца работать не захотел.
Когда будет большой массив данных чуть позже, протестирую еще раз. Но пока что остановлюсь на варианте Ran "Sub Мяу_Мяв()"
Отписываюсь теперь по факту теста на массиве 60 тыс строк 25 столбцов вариант RAN - около 15-20 секунд вариант nilem - 2 секунды - но к сожалению не подходит, поскольку он удаляет лишние пробелы и в тех ячейках где есть значения, а мне нужно только пустые ячейки чистить.
Если будут предложения как ускорить буду благодарен.
Отписываюсь теперь по факту теста на массиве 60 тыс строк 25 столбцов вариант RAN - около 15-20 секунд вариант nilem - 2 секунды - но к сожалению не подходит, поскольку он удаляет лишние пробелы и в тех ячейках где есть значения, а мне нужно только пустые ячейки чистить.
Если будут предложения как ускорить буду благодарен.DJ_Marker_MC