Добрый день, Коллеги, Нужен макрос: Есть список в котором множество значений, нужно, чтобы макрос нашел определенное значение и все строки, которые выше его удалил.
Помогите, пазязя)))
Просьба Если прикрепляете файл, упаковывайте в архив. А то при скачивании, я подозреваю он проходит какие то проверки безопасности и криво отображается в последствии. Комп рабочий, ничего не могу поделать с этим. Спасибо.
Добрый день, Коллеги, Нужен макрос: Есть список в котором множество значений, нужно, чтобы макрос нашел определенное значение и все строки, которые выше его удалил.
Помогите, пазязя)))
Просьба Если прикрепляете файл, упаковывайте в архив. А то при скачивании, я подозреваю он проходит какие то проверки безопасности и криво отображается в последствии. Комп рабочий, ничего не могу поделать с этим. Спасибо.konstantinp
Распишу макрос уважаемого Hugo (Игорь, надеюсь, ты не против) словами, чтобы Вы могли сами менять то, что Вам нужно Sub tt() Range("a1", Cells.Find("Заданное значение").Offset(, -1)).EntireRow.Delete End Sub Range означает диапазон, "A1" - его начало Cells.Find("Заданное значение").Offset(, -1) Cells - все ячейки, ищем в них с помощью Find значение "Заданное значение" и от этого найденного смещаемся с помощью Offset (кол-во строк вниз, кол-во столбцов вправо) - у нас Offset(,-1), значит, вниз на 0, и влево на 1. Все это целиком даст нам окончание диапазона Range. Затем, с помощью EntireRow получаем все строки этого диапазона и убиваем из с помощью Delete.
Quote
А если за исключением первых 3 строк?
Тогда первая строка для удаления будет не 1, а 4, следовательно, не Range("a1",..., а Range("a4",... Кстати, по-моему, Offset нужно написать так Offset(-1) Range("a1", Cells.Find("Заданное значение").Offset(-1)).EntireRow.Delete
Распишу макрос уважаемого Hugo (Игорь, надеюсь, ты не против) словами, чтобы Вы могли сами менять то, что Вам нужно Sub tt() Range("a1", Cells.Find("Заданное значение").Offset(, -1)).EntireRow.Delete End Sub Range означает диапазон, "A1" - его начало Cells.Find("Заданное значение").Offset(, -1) Cells - все ячейки, ищем в них с помощью Find значение "Заданное значение" и от этого найденного смещаемся с помощью Offset (кол-во строк вниз, кол-во столбцов вправо) - у нас Offset(,-1), значит, вниз на 0, и влево на 1. Все это целиком даст нам окончание диапазона Range. Затем, с помощью EntireRow получаем все строки этого диапазона и убиваем из с помощью Delete.
Quote
А если за исключением первых 3 строк?
Тогда первая строка для удаления будет не 1, а 4, следовательно, не Range("a1",..., а Range("a4",... Кстати, по-моему, Offset нужно написать так Offset(-1) Range("a1", Cells.Find("Заданное значение").Offset(-1)).EntireRow.Delete_Boroda_