Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: VBA & Excel Добавлено: 17.05.08 19:24  

Автор вопроса:  Катя
Привет всем! Помогите, пожалуйста, с программой:
На первом листе дан список специальностей, надо написать на втором листе те же специальности, но без повтора
Первый лист:
Городской кадастр
Менеджмент
Городской кадастр
Бухгалтер
Бухгалтер
управление
Городской кадастр

Второй лист:
Городской кадастр
Менеджмент
Бухгалтер
управление
Заранее спасибо!

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #1 Добавлено: 17.05.08 21:23
Попробую предвосхитить ответ большинства обитателей форума: "А сумма вознаграждения?", а также, непосредственно, Ваше возмущение: "Какие же вы программисты, если не можете подсказать девушке, как это сделать....", а затем опять их реплику: "Вы не задаете вопрос, а просите сделать за вас работу! задайте конкретный вопрос и получите конкретный ответ".

Ответить

Номер ответа: 2
Автор ответа:
 Катя



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 17.05.08 23:02
Перефразирую свой вопрос: как сделать, так что бы на втором листе не было повторов?

Ответить

Номер ответа: 3
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #3 Добавлено: 17.05.08 23:13
цикл для чтения специальностей с первого листа, в нем второй цикл, для чтения специальностей со второго листа, если специальности нет, добавляем ее.

Ответить

Номер ответа: 4
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 18.05.08 10:52
Это можно сделать за O(NlnN), отсортировать все специальности и пройтись один раз.

Ответить

Номер ответа: 5
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #5 Добавлено: 19.05.08 08:39
Можно еще так.

Sub Macro1()
  'создаем список уникальных значений. Правда это можно сделать только на том же листе, где исходные данные
  Range("A10:A20";).AdvancedFilter Action:=xlFilterCopy, _
                                  CriteriaRange:=Range("A10:A20";), _
                                  CopyToRange:=Range("C1";), Unique:=True
  'Выбираем полученные данные
  Range("C1";).Select
  Range(Selection, Selection.End(xlDown)).Select
  'копируем их на другой лист
  Selection.Copy
  Sheets("Sheet2";).Select
  Range("B1";).Select
  ActiveSheet.Paste
  Range("B7";).Select
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Катя



Вопросов: 1
Ответов: 2
 Профиль | | #6 Добавлено: 19.05.08 15:14
Cпасибо вам большое!!!!!!

Ответить

Номер ответа: 7
Автор ответа:
 Pavel



Вопросов: 0
Ответов: 36
 Профиль | | #7 Добавлено: 20.05.08 00:09
Я думаю макрос уважаемой Jasmin можно сократить, убрав лишние Select

Sub Макрос1()
    With Sheets("Лист1";)
        Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
            CopyToRange:=Sheets("Лист2";).Range("A1";), Unique:=True
    End With
End Sub

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 20.05.08 03:32
от блин ботаники, 2+2 решая будут драйвер писать, хукать кого-то, вспомнят все алгоритмы сортировки вроде пузырьков, вставок ещё всяких.. вспомнят шо для вычисления и польская нотация зачем-то нужна была.. а всего-то 2+2+AdvancedFilter+xlFilterCopy :)

Ответить

Номер ответа: 9
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #9 Добавлено: 20.05.08 09:51
To Pavel: Select был только для того, чтобы Катя поняла, что, куда, откуда копируется. А так он конечно не нужен.

To All: Старательно использую средства Excel, где возможно. Зачем изобретать велосипед, пусть считает он. :-)))

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 20.05.08 11:02
Во-первых, вспоминать алгоритм сортировки не просто не нужно, а НЕЛЬЗЯ. Во-вторых, если вместо простого и короткого решения с использованием драйвера городят кучу всякой мути, это не труъ.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам