Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Нумерация чисел - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Нумерация чисел (Макросы Sub)
Нумерация чисел
k1ker Дата: Пятница, 10.01.2014, 08:25 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

2013
Не знаю, с можно ли это сделать с помощью Excel, если можно - скажите как. Думаю, что тут только VBA
В общем, ситуация следующая: В первом столбике находятся числа 134513, 45316, 233974, 134513, 45316, 134513. И нужно как-то пронумеровать эти числа. Но проблема в том, что там где числа повторяются, должен быть один и тот же номер. Столбик, этот, кстати, можно отсортировать. Т.е. пример: 134513, 134513, 134513, 233974, 45316, 45316.

+ было бы очень круто, если такое можно было сделать и со списком слов.
 
Ответить
СообщениеНе знаю, с можно ли это сделать с помощью Excel, если можно - скажите как. Думаю, что тут только VBA
В общем, ситуация следующая: В первом столбике находятся числа 134513, 45316, 233974, 134513, 45316, 134513. И нужно как-то пронумеровать эти числа. Но проблема в том, что там где числа повторяются, должен быть один и тот же номер. Столбик, этот, кстати, можно отсортировать. Т.е. пример: 134513, 134513, 134513, 233974, 45316, 45316.

+ было бы очень круто, если такое можно было сделать и со списком слов.

Автор - k1ker
Дата добавления - 10.01.2014 в 08:25
k1ker Дата: Пятница, 10.01.2014, 08:42 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

2013
Блин, ВПР же есть. Взять, удалить все дубли, уникальным задать порядковый номер, а потом уже в ту таблицу подставлять.
Извиняюсь, за глупый вопрос. Но пол часа сидел, голову ломал. А тему создал - сразу дошло :)
 
Ответить
СообщениеБлин, ВПР же есть. Взять, удалить все дубли, уникальным задать порядковый номер, а потом уже в ту таблицу подставлять.
Извиняюсь, за глупый вопрос. Но пол часа сидел, голову ломал. А тему создал - сразу дошло :)

Автор - k1ker
Дата добавления - 10.01.2014 в 08:42
_Boroda_ Дата: Пятница, 10.01.2014, 09:29 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Блин, ВПР же есть.

Есть еще функция РАНГ
Код
=РАНГ(A2;A2:A15;1)
К сообщению приложен файл: 56785634.xlsx (8.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Блин, ВПР же есть.

Есть еще функция РАНГ
Код
=РАНГ(A2;A2:A15;1)

Автор - _Boroda_
Дата добавления - 10.01.2014 в 09:29
k1ker Дата: Пятница, 10.01.2014, 09:52 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

2013
_Boroda_, спасибо! Так намного проще :) Жалко, правда, что только для чисел.
 
Ответить
Сообщение_Boroda_, спасибо! Так намного проще :) Жалко, правда, что только для чисел.

Автор - k1ker
Дата добавления - 10.01.2014 в 09:52
SkyPro Дата: Пятница, 10.01.2014, 10:12 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Вот так можно:
К сообщению приложен файл: 8143685.xlsx (9.5 Kb)


skypro1111@gmail.com
 
Ответить
СообщениеВот так можно:

Автор - SkyPro
Дата добавления - 10.01.2014 в 10:12
k1ker Дата: Пятница, 10.01.2014, 10:28 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

2013
SkyPro, какой-то странный способ :) А как мне потом пустые ячейки заполнять? Мне к каждому элементу номер нужен, а не только к первому уникальному.
Получить уникальные строки не проблема. Для этого использую текстовый редактор.
 
Ответить
СообщениеSkyPro, какой-то странный способ :) А как мне потом пустые ячейки заполнять? Мне к каждому элементу номер нужен, а не только к первому уникальному.
Получить уникальные строки не проблема. Для этого использую текстовый редактор.

Автор - k1ker
Дата добавления - 10.01.2014 в 10:28
SkyPro Дата: Пятница, 10.01.2014, 11:11 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
А. Так вам все нужно пронумеровать?
И дубли под одним номером?
Тогда можно так:
[vba]
Код
Dim cl As New Collection

Sub ttt()
Dim x, i&, v&
x = Range("A1:B" & [A1048576].End(xlUp).Row).Value
unq x, 1
For v = 1 To cl.Count
      For i = 1 To UBound(x)
          If cl.Item(v) = CStr(x(i, 1)) Then
              x(i, 2) = v
          End If
      Next
Next
Range("A1:B" & [A1048576].End(xlUp).Row) = x
End Sub

Sub unq(ByVal ar, c&)
Dim i&, txt$
On Error Resume Next
      For i = LBound(ar) To UBound(ar)
      txt = CStr(ar(i, c))
          cl.Add txt, txt
      Next
End Sub
[/vba]

Или ту же формулу допилить:
Код
=ЕСЛИ(СЧЁТЕСЛИ($A$1:$A2;A2)>1;ИНДЕКС($B$1:B1;ПОИСКПОЗ(A2;$A$1:A1;0));МАКС($B$1:$B1)+1)
К сообщению приложен файл: 3049504.xlsm (16.8 Kb)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Пятница, 10.01.2014, 11:38
 
Ответить
СообщениеА. Так вам все нужно пронумеровать?
И дубли под одним номером?
Тогда можно так:
[vba]
Код
Dim cl As New Collection

Sub ttt()
Dim x, i&, v&
x = Range("A1:B" & [A1048576].End(xlUp).Row).Value
unq x, 1
For v = 1 To cl.Count
      For i = 1 To UBound(x)
          If cl.Item(v) = CStr(x(i, 1)) Then
              x(i, 2) = v
          End If
      Next
Next
Range("A1:B" & [A1048576].End(xlUp).Row) = x
End Sub

Sub unq(ByVal ar, c&)
Dim i&, txt$
On Error Resume Next
      For i = LBound(ar) To UBound(ar)
      txt = CStr(ar(i, c))
          cl.Add txt, txt
      Next
End Sub
[/vba]

Или ту же формулу допилить:
Код
=ЕСЛИ(СЧЁТЕСЛИ($A$1:$A2;A2)>1;ИНДЕКС($B$1:B1;ПОИСКПОЗ(A2;$A$1:A1;0));МАКС($B$1:$B1)+1)

Автор - SkyPro
Дата добавления - 10.01.2014 в 11:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Нумерация чисел (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!