powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL - УДАЛЕНИЕ СТРОК
8 сообщений из 8, страница 1 из 1
EXCEL - УДАЛЕНИЕ СТРОК
    #32704031
Wolf2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо из листа, в колонке ‘L’ содержащее
название месяца, допустим “февраль”,
УДАЛИТЬ СТРОКИ
"My_Range2" - это столбец со 2-го по 2002 строку

Пример_1 из книги НЕ РАБОТАЕТ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim currentCell As Object
    Dim nextCell As Object
    ActiveWorkbook.Sheets("Береж").Select
    Set currentCell = ActiveSheet.Range("My_Range2")  ' Run-time error '1004'   Application - defined or object defined error 
    Do While Not IsEmpty(currentCell)
        Set nextCell = currentCell.Offset( 1 ,  0 )
       If currentCell.Value = " февраль " Then  ' Run-time error '13'   Type mismatch 
            currentCell.EntireRow.Delete
        End If
        Set currentCell = nextCell
    Loop
Пример из HELPa тоже не работает – это тот же самый код

подскажите или киньте код

СПАСИБО
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32704046
raur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.range это range, а обджек это обджек
2.посмотри тип в свойствах ячейки

прикол
скажи, а как ты миновал 1 еррор и дошел до второго?
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32704054
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
Dim currentCell As Range
Dim nextCell As Range
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32704073
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы так сделал
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public Sub DelRows()
Dim iRange As Range
Dim strRows As String

        
    For Each iRange In Range("My_Range")
        If LCase(iRange.Value) = "февраль" Then
            strRows = strRows & iRange.Row & ":" & iRange.Row & ","
        End If
    Next iRange
    

    strRows = Left(strRows, Len(strRows) -  1 )
    Range(strRows).EntireRow.Delete
End Sub
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32704424
Wolf2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
прикол
скажи, а как ты миновал  1  еррор и дошел до второго?

При запуске на выполнение почему-то 2-ая ошибка была,
я закомментировал,
запустил дальше на выполнение,
появилась первая.

Вообще - то, я собрал текст в word'e

и послал на форум, поэтому сейчас подтвердить
полностью не могу, но выше написанное наиболее
достоверно.

Сейчас попробую советы по решению проблемы,
которую ещё не решал с помощью Ваших советов.

СПАСИБО
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32704654
Wolf2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke

БОЛЬШОЕ СПАСИБО,
правильное решение последнее

"я бы сделал так"

PS: может быть с моей стороны чересчур,
если диапазон пустой, т.е. все строки удалены,
то выводится сообщение :

Код: plaintext
1.
2.
Run-time error “ 5 ”  Invalid procedure call or argument
на строке
strRows = Left(strRows, Len(strRows) -  1 )
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32704851
Алексей2003.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
If Len(strRows) > 0 Then
  strRows = Left(strRows, Len(strRows) - 1)
  Range(strRows).EntireRow.Delete
End If
...
Рейтинг: 0 / 0
EXCEL - УДАЛЕНИЕ СТРОК
    #32706639
Wolf2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БОЛЬШОЕ СПАСИБО

и Алексей2003.

всё ОК ! РАБОТАЕТ как требуется.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL - УДАЛЕНИЕ СТРОК
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]