Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL - УДАЛЕНИЕ СТРОК / 8 сообщений из 8, страница 1 из 1
21.09.2004, 12:31
    #32704031
Wolf2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL - УДАЛЕНИЕ СТРОК
Необходимо из листа, в колонке ‘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
21.09.2004, 12:37
    #32704046
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL - УДАЛЕНИЕ СТРОК
1.range это range, а обджек это обджек
2.посмотри тип в свойствах ячейки

прикол
скажи, а как ты миновал 1 еррор и дошел до второго?
...
Рейтинг: 0 / 0
21.09.2004, 12:40
    #32704054
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL - УДАЛЕНИЕ СТРОК
Код: plaintext
1.
2.
Dim currentCell As Range
Dim nextCell As Range
...
Рейтинг: 0 / 0
21.09.2004, 12:49
    #32704073
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL - УДАЛЕНИЕ СТРОК
я бы так сделал
Код: 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
21.09.2004, 14:52
    #32704424
Wolf2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL - УДАЛЕНИЕ СТРОК
Код: plaintext
1.
прикол
скажи, а как ты миновал  1  еррор и дошел до второго?

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

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

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

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

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

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

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

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

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

и Алексей2003.

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


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