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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2015, 19:29   #1
Dr.House69
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 16
По умолчанию удаление строк

Добрый день! Прошу помочь с решением финальной проблемы с файлом)
Дан файл (в приложении есть пример). В нем существует проблема - при протягивании формулы невозможно предположить, сколько значений в итоге понадобится, поэтому на всякий случай формулы протягивают с запасом (пусть будет на 200 строк вниз). Ячейки, для которых нет входных данных, но формула протянута, выдают ошибку - их надо удалить, иначе не сработают другие макрос. Я пытался делать это в цикле, проверяя первые 2 столбца на наличие в них чего-либо, однако оказалось, что удаление строки в цикле не сработает. Выделение в цикле всех строк и последующее удаление этого тоже не работает (выделяется только последняя). Каким образом удалить те строки, где в первых 2 столбцах нет никаких значений?
Вложения
Тип файла: xlsx пример.xlsx (8.5 Кб, 12 просмотров)
Dr.House69 вне форума Ответить с цитированием
Старый 05.10.2015, 20:18   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Можете дополнить формулу, для Е1
Код:
=ЕСЛИОШИБКА(C1/D1;"")
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 06.10.2015, 08:56   #3
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Если есть макрос, который делает какие-то действия с данными, то логичнее добавить в макрос написание формулы и протягивание ее вниз на нужное количество строк с данными
Код:
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row ' счетчик номера последней заполненной строки
Range("E1").Formula = "=C1/D1"'написание формулы
Range("E1").AutoFill Destination:=Range("E1:E" & lLastRow) 'протягивание вниз
27102014 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строк UKRtortik Общие вопросы Delphi 23 04.06.2014 17:57
Удаление строк Zelenaya Microsoft Office Excel 6 26.09.2012 09:55
Удаление строк chipesca Microsoft Office Excel 0 06.06.2012 20:05
Удаление строк Trimbl Microsoft Office Excel 13 18.10.2010 13:19
перенос строк удаление ненужных строк HelperAwM Microsoft Office Excel 5 26.06.2010 18:42