Страницы: 1
RSS
Список уникальных значений для старых версий
 
Есть макрос приведённый ниже для создания списка уникальных значений но он выдает ошибку #перенос подскажите что нужно исправить.
Function UniqueList(rng As Range) As Variant
   Dim dict As Object
   Dim cell As Range
   Dim arr() As Variant
   Dim i As Long

   Set dict = CreateObject("Scripting.Dictionary")

   For Each cell In rng
       dict(cell.Value) = 1
   Next cell

   ReDim arr(1 To dict.Count, 1 To 1)

   i = 1
   For Each Key In dict.Keys
       arr(i, 1) = Key
       i = i + 1
   Next Key

   UniqueList = arr
End Function
 
Откуда Вы его взяли?
Согласие есть продукт при полном непротивлении сторон
 
knight У меня эксель 2002 и 2010 отработала ошибки не было. Попробуйте так
Код
Function UniqueList(rng As range) As Variant
   Dim dict As Object
   Dim cell
   Dim key1
   Dim arr() As Variant
   Dim i As Long

   Set dict = CreateObject("Scripting.Dictionary")

   For Each cell In rng.Cells
       dict(cell.Value) = 1
   Next cell

   ReDim arr(1 To dict.Count, 1 To 1)

    For Each key1 In dict.Keys()
        i = i + 1
        arr(i, 1) = key1
    Next key1

   UniqueList = arr
End Function
 
Цитата
Евгений Смирнов написал:
У меня эксель 2002
у маководов все не как у людей :-)
По вопросам из тем форума, личку не читаю.
 
БМВ А кто такие маководы? Кто мак выращивает.
Изменено: Евгений Смирнов - 11.11.2023 18:15:50
 
Евгений Смирнов, Excel 2002 существовал только для MacOS.
По вопросам из тем форума, личку не читаю.
 
БМВ В данном случае вы совсем не правы. Нажимаем пункт справка, о программе. Написано "Microsoft Excel 2002 (10.2701.2625)" Те десятая версия эксель.
 
И да и нет, Office XP был и мало кто excel 2002 употреблял вместо excel XP.
По вопросам из тем форума, личку не читаю.
 
Да, была такая версия. Почти сразу же появилась значительно более известная Excel 2003.
Владимир
 
Цитата
knight написал:
он выдает ошибку #перенос
Это, скорее всего, не макрос виноват, а попытка применить макрос в формуле и вставить результат в диапазон ячеек.
Владимир
 
Цитата
Список уникальных значений для старых версий
Используйте
Код
AdvancedFilter
 
Еще есть Range.RemoveDuplicates
Владимир
 
sokol92 Здравствуйте Владимир.
Цитата
Еще есть Range.RemoveDuplicates
Это не знаю в какой версии появилось. В 2002 нет. Человек видимо что - то для старой версии делает, но не написал для какой
 
Цитата
Евгений Смирнов написал:
Это не знаю в какой версии появилось
Здравствуйте, Евгений. Небольшое расследование говорит, что, вероятно,   RemoveDuplicates появился в Excel 2007
Изменено: sokol92 - 11.11.2023 19:48:31
Владимир
Страницы: 1
Наверх