Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удаление строки с неактивного листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строки с неактивного листа (Макросы/Sub)
Удаление строки с неактивного листа
karmen185 Дата: Воскресенье, 29.12.2019, 02:26 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброй ночи. Всех с наступающим Новым годом!!!
Желаю в Новый год удачи,
И исполнения мечты!
Пусть будут радостными встречи,
Любви большой и доброты!
Ну и мой вопрос, как данный код подправить, чтобы удаление строки было на неактивном листе? Сейчас срабатывает только на активном листе "Лист1". Что-то намудрила я с Worksheets("Лист2"), с него не хочет. Спасибо.
К сообщению приложен файл: DeleteRow.xls (35.5 Kb)
 
Ответить
СообщениеДоброй ночи. Всех с наступающим Новым годом!!!
Желаю в Новый год удачи,
И исполнения мечты!
Пусть будут радостными встречи,
Любви большой и доброты!
Ну и мой вопрос, как данный код подправить, чтобы удаление строки было на неактивном листе? Сейчас срабатывает только на активном листе "Лист1". Что-то намудрила я с Worksheets("Лист2"), с него не хочет. Спасибо.

Автор - karmen185
Дата добавления - 29.12.2019 в 02:26
Michael_S Дата: Воскресенье, 29.12.2019, 05:14 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Наверно так:
[vba]
Код
Sub Del_SubStr()
Dim sSubStr As String
    Dim lCol As Long
    Dim lLastRow As Long, li As Long
    lCol = 1 ' столбец для проверки условия
    With Worksheets("Лист2")
        lLastRow = .Cells(Rows.Count, lCol).End(xlUp).Row
        Application.ScreenUpdating = 0
        Application.EnableEvents = 0
        For li = lLastRow To 1 Step -1
            sSubStr = .Cells(li, lCol).Value
            If IsNumeric(sSubStr) And sSubStr <> "" Then
                If sSubStr = Range("B1") Then
                    .Rows(li).Delete
                End If
            End If
        Next li
    End With
    Application.EnableEvents = 1
    Application.ScreenUpdating = 1
End Sub
[/vba]
 
Ответить
СообщениеНаверно так:
[vba]
Код
Sub Del_SubStr()
Dim sSubStr As String
    Dim lCol As Long
    Dim lLastRow As Long, li As Long
    lCol = 1 ' столбец для проверки условия
    With Worksheets("Лист2")
        lLastRow = .Cells(Rows.Count, lCol).End(xlUp).Row
        Application.ScreenUpdating = 0
        Application.EnableEvents = 0
        For li = lLastRow To 1 Step -1
            sSubStr = .Cells(li, lCol).Value
            If IsNumeric(sSubStr) And sSubStr <> "" Then
                If sSubStr = Range("B1") Then
                    .Rows(li).Delete
                End If
            End If
        Next li
    End With
    Application.EnableEvents = 1
    Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - Michael_S
Дата добавления - 29.12.2019 в 05:14
karmen185 Дата: Воскресенье, 29.12.2019, 10:26 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброе утро Michael_S. Похоже с текстовыми значениями он работать не хочет, а если числовые, то работает. Попробую дополнительный столбец на проверку формулой, а затем буду по этому столбцу удалять. Большое спасибо за помощь.
 
Ответить
СообщениеДоброе утро Michael_S. Похоже с текстовыми значениями он работать не хочет, а если числовые, то работает. Попробую дополнительный столбец на проверку формулой, а затем буду по этому столбцу удалять. Большое спасибо за помощь.

Автор - karmen185
Дата добавления - 29.12.2019 в 10:26
RAN Дата: Воскресенье, 29.12.2019, 12:15 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Похоже с текстовыми значениями он работать не хочет

Интересно, почему так?
Может быть потому, что вы в коде прямо указали - работать, только если в ячейке число?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Похоже с текстовыми значениями он работать не хочет

Интересно, почему так?
Может быть потому, что вы в коде прямо указали - работать, только если в ячейке число?

Автор - RAN
Дата добавления - 29.12.2019 в 12:15
karmen185 Дата: Воскресенье, 29.12.2019, 13:29 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, здравствуйте. Спасибо за подсказку, убрала IsNumeric и всё заработало. С Наступающим Вас! :D
 
Ответить
СообщениеRAN, здравствуйте. Спасибо за подсказку, убрала IsNumeric и всё заработало. С Наступающим Вас! :D

Автор - karmen185
Дата добавления - 29.12.2019 в 13:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строки с неактивного листа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!