Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить одинаковые строки VBA / 5 сообщений из 5, страница 1 из 1
24.05.2010, 15:03
    #36645375
Shun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинаковые строки VBA
Подскажите, пожалуйста, как написать такой кусок на VBA

Если в один столбец в Экселе расположены показатели разделенные решелкой (вот так)

100
200
300
##
100
200
300
##
##
100
200
300

и если встречается 2 решетки подряд то эту строку надо удалить. Как написать это в коде?

Спасибо...
...
Рейтинг: 0 / 0
24.05.2010, 15:07
    #36645390
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинаковые строки VBA
Перебрать ячейки в цикле с конца, при встрече повторной решетки - удалять строку.
...
Рейтинг: 0 / 0
24.05.2010, 18:54
    #36646038
весельчак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинаковые строки VBA
А еще лучше перебрать (не важно в каком порядке) все строки, запомнить номера "плохих" и, только потом, удалить все одним махом (какой же я зануда xD)
...
Рейтинг: 0 / 0
25.05.2010, 12:50
    #36647313
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинаковые строки VBA
Если это продолжение топика , то лучше не заводить новый.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub NomenSort()
  Const Divizor As String = "###"
  Application.ScreenUpdating = False
  Dim Sh As Worksheet
  Set Sh = ActiveSheet
  For Index& = Sh.UsedRange.Rows.Count To  2  Step - 1 
    If Sh.Cells(Index,  1 ) = Divizor And Sh.Cells(Index -  1 &,  1 ) = Divizor Then _
      Sh.Rows(Index).Delete
  Next
  For Index& =  2  To Sh.UsedRange.Rows.Count Step  3 
    Row& = Row& +  1 &
    Name$ = Sh.Cells(Index,  1 )
    Sh.Cells(Row,  2 ) = Name
    Sh.Cells(Row,  3 ) = Sh.Cells(Index +  1 &,  1 )
    Sh.Cells(Row,  4 ) = Left(Name, InStr(Name, ":") -  1 &)
  Next
  With Sh.Range(Sh.Cells( 1 ,  2 ), Sh.Cells(Row,  4 ))
    .Sort [D1]
    For Row& =  1  To Row
      Index = Row *  3  -  1 &
      Sh.Cells(Index,  1 ) = Sh.Cells(Row,  2 )
      Sh.Cells(Index +  1 &,  1 ) = Sh.Cells(Row,  3 )
    Next
    .Delete
  End With
  Application.ScreenUpdating = True
End Sub
...
Рейтинг: 0 / 0
25.05.2010, 14:36
    #36647702
Shun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинаковые строки VBA
Спасибо -)))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить одинаковые строки VBA / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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