Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ПОИСК одинаковых значений в столбце EXCEL, нужно удалить дублирующие значение 
:(
    Опции темы
FireAlex
Дата 1.4.2005, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 17.11.2004

Репутация: нет
Всего: нет



есть лист EXCEL.
на одном листе около 20000 строк.
нужно написать макрос который удаляет дублирующие строки - где совпадают значения по одному столбцу...
как на VBA сделать не знаю - знаком слабо.

например в дельфях есть класс TStringList - набор строк.
при выполнении метода Add можно сгенерировать исключение при попытке добавления уже существующего элемента.
есть ли что ли бо подобное на VBA? или как можно решить такую задачу?



PM MAIL   Вверх
~FoX~
Дата 1.4.2005, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Код

    Range("A1:A4").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "A50:A54"), Unique:=True



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Staruha
Дата 1.4.2005, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



~FoX~ помоему это фильтр,а фильтр ,а надо удалить строки.Можно конечно скрытые строки попробовать удалить.А можно запустить двва цикла и если совпадает то удалить.


--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 28.10.2005, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Все!Работает.Вот только не могу решить l - оставить в цифрах или кол строк определять программно.Что быстрее?
Код

Private Sub CommandButton2_Click()
Dim xd As String
Dim xxd As String
Dim l As Integer
        l = 3000
          For x = 1 To l
           xd = Cells(x, 1)
                   If xd = "" Then
   Exit For
       Else
             For xx = x + 1 To l
                 xxd = Cells(xx, 1)
                    If xd = xxd Then
           Rows(xx).Delete
  xx = xx - 1
       l = l - 1
     End If
  Next
      xx = x + 1
  End If
Next
End Sub



--------------------
Возмездие настигнет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.