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

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

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

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

Спасибо...
...
Рейтинг: 0 / 0
Удалить одинаковые строки VBA
    #36645390
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перебрать ячейки в цикле с конца, при встрече повторной решетки - удалять строку.
...
Рейтинг: 0 / 0
Удалить одинаковые строки VBA
    #36646038
весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще лучше перебрать (не важно в каком порядке) все строки, запомнить номера "плохих" и, только потом, удалить все одним махом (какой же я зануда xD)
...
Рейтинг: 0 / 0
Удалить одинаковые строки VBA
    #36647313
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это продолжение топика , то лучше не заводить новый.
Код: 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
Удалить одинаковые строки VBA
    #36647702
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо -)))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить одинаковые строки VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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