Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление в excel / 9 сообщений из 9, страница 1 из 1
20.12.2006, 10:18
    #34212188
Dynamic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
Всем привет!

Нужно удалить в большом документе на одном листе все строки через 1. Как это можно быстрее и проще сделать? Пытался написАть макрос, но я в vb ноль, поэтому у меня ничего не получилось.

Заранее благодарю!
...
Рейтинг: 0 / 0
20.12.2006, 10:37
    #34212258
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
Как один из вариантов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Макрос1()
    Application.ScreenUpdating = False
    iMAX =  30    ' например тридцать строк
    For i =  1  To iMAX
        If (i Mod  2 ) >  0  Then
            adres = LTrim(Str(i)) & ":" & LTrim(Str(i))
            Rows(adres).Select
            Selection.Delete Shift:=xlUp
        End If
    Next
    Application.ScreenUpdating = True
End Sub
...
Рейтинг: 0 / 0
20.12.2006, 11:59
    #34212565
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
DynamicВсем привет!

Нужно удалить в большом документе на одном листе все строки через 1. Как это можно быстрее и проще сделать? Пытался написАть макрос, но я в vb ноль, поэтому у меня ничего не получилось.

Заранее благодарю!
попробуйте задать свой вопрос и в разделе Microsoft Office
там один MVP по Excel'у есть, он может привести максимально быстрый и оптимальный метод
...
Рейтинг: 0 / 0
20.12.2006, 12:02
    #34212582
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
klen_Как один из вариантов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Макрос1()
    Application.ScreenUpdating = False
    iMAX =  30    ' например тридцать строк
    For i =  1  To iMAX
        If (i Mod  2 ) >  0  Then
            adres = LTrim(Str(i)) & ":" & LTrim(Str(i))
            Rows(adres).Select
            Selection.Delete Shift:=xlUp
        End If
    Next
    Application.ScreenUpdating = True
End Sub


Это плолхой способ
Т.к при удалении строки будут сдвигаться вверх и нумерация у них будет менятся (была строка №4 после удаления второй строки, она стала №3)
Это способ подойдет если удалять с конца
...
Рейтинг: 0 / 0
20.12.2006, 12:10
    #34212626
Dynamic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
вот так переписал:
Код: plaintext
For i = iMAX To  1  Step - 1 
вроде правильно работает.

Спасибо за помощь!
...
Рейтинг: 0 / 0
20.12.2006, 12:13
    #34212640
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
HandKotстроки будут сдвигаться вверх и нумерация у них будет менятся
Внешне это никак не проявляется благодаря команде
Код: plaintext
Application.ScreenUpdating = False
...
Рейтинг: 0 / 0
20.12.2006, 12:22
    #34212691
Dynamic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
А еще вдогонку: как однострочные комментарии в коде писАть? (типа как в дельфи, например, символами // )
...
Рейтинг: 0 / 0
20.12.2006, 12:49
    #34212839
Dynamic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
что - никто не знает?
...
Рейтинг: 0 / 0
20.12.2006, 13:14
    #34212965
Dynamic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление в excel
лана, сам разобрался
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление в excel / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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