|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.08.2012, 14:38 | #1 |
Пользователь
Регистрация: 18.04.2008
Сообщений: 41
|
Распознание регистра в надписи
Коллеги, помогите пожалуйста!
Есть макрос, который преобразовывает список с дублекатами (Список 1) наименований в список с уникальными наименованиями (Список 2) через массив. Проблема в том, что при попадании наименований в списке 1 таких наименований, как "ООО ЛЮТИК" и "ООО Лютик", (которые, по сути, разные) он делает из них одно (первое по счету, "ООО ЛЮТИК"). Как бы сделать так, чтобы они их разделял? Sub Выгрузка() Dim i As Long, j As Long, x As New Collection, a, b() Sheets("Буфер обмена").Activate: Range([E2], Cells(Rows.Count, "I")).ClearContents With Sheets("Базовый массив") a = .Range(.[B8], .Cells(Rows.Count, "B").End(xlUp)).Value End With ReDim b(1 To UBound(a, 1), 1 To 1): j = 1 For i = 1 To UBound(a, 1) If a(i, 1) <> "" Then On Error Resume Next: x.Add a(i, 1), CStr(a(i, 1)) If Err = 0 Then b(j, 1) = a(i, 1): j = j + 1 Else: On Error GoTo 0 End If End If Next Range([E2], Cells(UBound(b, 1) + 1, "E")).Value = b End Sub Помогите, плиз! |
01.08.2012, 20:20 | #2 |
Форумчанин
Регистрация: 25.02.2012
Сообщений: 166
|
думаю, для используемого объекта Collection это невозможно.
по крайней мере, Optional Compare Binary ему по барабану. переписывайте макрос с использованием объекта Dictionary. у него есть свойство Compare |
01.08.2012, 20:30 | #3 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Zorg, файл с примером
Тишина – самый громкий звук
|
01.08.2012, 20:58 | #4 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
> таких наименований, как "ООО ЛЮТИК" и "ООО Лютик", (которые, по сути, разные)
Да? Попробуйте-ка одновременно зарегистрировать ООО "ЛЮТИК" и ООО "Лютик".
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
01.08.2012, 22:54 | #5 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Ромашки спрятались... найти бы лютик!
До кучи:
Бинарное сравнение тут безусловно буксует! Остаётся ручная работа.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
02.08.2012, 12:41 | #6 |
Пользователь
Регистрация: 18.04.2008
Сообщений: 41
|
Nerv, вот файл примера.
Казанский, понимаю, что ситуация глупая с точки зрения учета клиентов, юр лиц и т.д.. Глупость ситуации идет от того, что код ТТ отсутствует, есть только название, созданное в учетке какими-то гениями (данные внешние, такие получаем, повлиять не можем). Названия распознаются, вносятся в справочники и им присваивается код. Беда в том, что распознаются некорректно. ikki_pf Не поделитесь примером, как бы это реализовать? |
02.08.2012, 18:47 | #7 |
Форумчанин
Регистрация: 25.02.2012
Сообщений: 166
|
|
07.08.2012, 12:42 | #8 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
еще актуально?
Тишина – самый громкий звук
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Распознание капчи | Arsenx777 | Общие вопросы Delphi | 36 | 26.01.2014 21:20 |
Распознание лица | harkonen | C# (си шарп) | 0 | 27.02.2012 15:07 |
Преобразовать все буквы нижнего регистра в буквы верхнего регистра | druger | Помощь студентам | 5 | 18.09.2011 17:27 |
Распознание изображений | kroŧ | PHP | 3 | 20.05.2011 19:00 |
Распознание текста | DOLBY | Общие вопросы Delphi | 13 | 14.02.2008 13:31 |