макрос сравнения 2х листов одного файла по 2м столбцам
Hugo
Дата: Среда, 30.10.2013, 11:14 |
Сообщение № 41
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Ну да, можно ведь сразу этот огромный текст обрабатывать - так должно быть удобнее. К тому же как там из текста получены даты - это ещё нужно посмотреть Но на такую работу я не подписываюсь - есть сейчас другая работа...
Ну да, можно ведь сразу этот огромный текст обрабатывать - так должно быть удобнее. К тому же как там из текста получены даты - это ещё нужно посмотреть Но на такую работу я не подписываюсь - есть сейчас другая работа... Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Ну да, можно ведь сразу этот огромный текст обрабатывать - так должно быть удобнее. К тому же как там из текста получены даты - это ещё нужно посмотреть Но на такую работу я не подписываюсь - есть сейчас другая работа... Автор - Hugo Дата добавления - 30.10.2013 в 11:14
NICK31
Дата: Среда, 30.10.2013, 11:19 |
Сообщение № 42
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
Hugo, вся база изначально выходит на 10 млн записей в текстовом формате, чтобы ее как-то разбить,наши автоматизаторы,другой отдел,выгружает и разбивает ее,на несколько эксель файлов,другого придумать не могут
Hugo, вся база изначально выходит на 10 млн записей в текстовом формате, чтобы ее как-то разбить,наши автоматизаторы,другой отдел,выгружает и разбивает ее,на несколько эксель файлов,другого придумать не могут NICK31
Ответить
Сообщение Hugo, вся база изначально выходит на 10 млн записей в текстовом формате, чтобы ее как-то разбить,наши автоматизаторы,другой отдел,выгружает и разбивает ее,на несколько эксель файлов,другого придумать не могут Автор - NICK31 Дата добавления - 30.10.2013 в 11:19
nilem
Дата: Среда, 30.10.2013, 11:24 |
Сообщение № 43
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
А давайте попробуем, для интереса. Примерчик можете показать?
А давайте попробуем, для интереса. Примерчик можете показать? nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение А давайте попробуем, для интереса. Примерчик можете показать? Автор - nilem Дата добавления - 30.10.2013 в 11:24
Hugo
Дата: Среда, 30.10.2013, 11:25 |
Сообщение № 44
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Идиоты. Небось все молодые, недавние студенты? А может и не идиоты - сделаешь работу за пару секунд - заплатят за пару секунд... А так пару часов вроде как при деле...
Идиоты. Небось все молодые, недавние студенты? А может и не идиоты - сделаешь работу за пару секунд - заплатят за пару секунд... А так пару часов вроде как при деле... Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Идиоты. Небось все молодые, недавние студенты? А может и не идиоты - сделаешь работу за пару секунд - заплатят за пару секунд... А так пару часов вроде как при деле... Автор - Hugo Дата добавления - 30.10.2013 в 11:25
NICK31
Дата: Среда, 30.10.2013, 11:28 |
Сообщение № 45
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
nilem, если бы мог...нет у меня этих данных!
nilem, если бы мог...нет у меня этих данных! NICK31
Ответить
Сообщение nilem, если бы мог...нет у меня этих данных! Автор - NICK31 Дата добавления - 30.10.2013 в 11:28
NICK31
Дата: Среда, 30.10.2013, 11:29 |
Сообщение № 46
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
Hugo, второй вариант более подходит,там дяди сидят...и такие....что я их мир не понимаю
Hugo, второй вариант более подходит,там дяди сидят...и такие....что я их мир не понимаю NICK31
Ответить
Сообщение Hugo, второй вариант более подходит,там дяди сидят...и такие....что я их мир не понимаю Автор - NICK31 Дата добавления - 30.10.2013 в 11:29
nilem
Дата: Среда, 30.10.2013, 11:31 |
Сообщение № 47
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
nilem, если бы мог...нет у меня этих данных!
Ну, тогда словари [offtop]"Словари-и-и вы мои словари-и-и " песня такая есть [/offtop]
nilem, если бы мог...нет у меня этих данных!
Ну, тогда словари [offtop]"Словари-и-и вы мои словари-и-и " песня такая есть [/offtop]nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение nilem, если бы мог...нет у меня этих данных!
Ну, тогда словари [offtop]"Словари-и-и вы мои словари-и-и " песня такая есть [/offtop]Автор - nilem Дата добавления - 30.10.2013 в 11:31
Hugo
Дата: Среда, 30.10.2013, 11:41 |
Сообщение № 48
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Ну текст ведь тоже по словарю нужно было бы проверять Схема ведь не меняется - сперва основную базу в словарь, затем читаем эти миллионы строк по-одной (средствами FSO), извлекаем из строки данные, проверяем по словарю, пишем сразу результат в выходной текст. Ну или как вариант можно собирать результат в коллекцию (заодно сразу и повторы отсеются), затем в конце из коллекции переписать куда угодно.
Ну текст ведь тоже по словарю нужно было бы проверять Схема ведь не меняется - сперва основную базу в словарь, затем читаем эти миллионы строк по-одной (средствами FSO), извлекаем из строки данные, проверяем по словарю, пишем сразу результат в выходной текст. Ну или как вариант можно собирать результат в коллекцию (заодно сразу и повторы отсеются), затем в конце из коллекции переписать куда угодно. Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Ну текст ведь тоже по словарю нужно было бы проверять Схема ведь не меняется - сперва основную базу в словарь, затем читаем эти миллионы строк по-одной (средствами FSO), извлекаем из строки данные, проверяем по словарю, пишем сразу результат в выходной текст. Ну или как вариант можно собирать результат в коллекцию (заодно сразу и повторы отсеются), затем в конце из коллекции переписать куда угодно. Автор - Hugo Дата добавления - 30.10.2013 в 11:41
NICK31
Дата: Среда, 30.10.2013, 12:11 |
Сообщение № 49
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
а вот и я))проверил список,только он не выдал одного клиента,который написан был с 2 пробелами после фамилии, а в другом 1 пробел!как быть?
а вот и я))проверил список,только он не выдал одного клиента,который написан был с 2 пробелами после фамилии, а в другом 1 пробел!как быть? NICK31
Ответить
Сообщение а вот и я))проверил список,только он не выдал одного клиента,который написан был с 2 пробелами после фамилии, а в другом 1 пробел!как быть? Автор - NICK31 Дата добавления - 30.10.2013 в 12:11
Hugo
Дата: Среда, 30.10.2013, 12:18 |
Сообщение № 50
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Я выше говорил про application.trim() - как в воду глядел
Я выше говорил про application.trim() - как в воду глядел Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Я выше говорил про application.trim() - как в воду глядел Автор - Hugo Дата добавления - 30.10.2013 в 12:18
NICK31
Дата: Среда, 30.10.2013, 12:21 |
Сообщение № 51
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
то есть вместо trim поставить application.trim()???
то есть вместо trim поставить application.trim()??? NICK31
Ответить
Сообщение то есть вместо trim поставить application.trim()??? Автор - NICK31 Дата добавления - 30.10.2013 в 12:21
Hugo
Дата: Среда, 30.10.2013, 12:33 |
Сообщение № 52
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Ну да. Этот экселевский трим в отличие от обычного вбашного убирает лишние сдвоенные пробелы и между слов. Но конечно шевелиться будет медленнее.
Ну да. Этот экселевский трим в отличие от обычного вбашного убирает лишние сдвоенные пробелы и между слов. Но конечно шевелиться будет медленнее. Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Ну да. Этот экселевский трим в отличие от обычного вбашного убирает лишние сдвоенные пробелы и между слов. Но конечно шевелиться будет медленнее. Автор - Hugo Дата добавления - 30.10.2013 в 12:33
NICK31
Дата: Среда, 30.10.2013, 12:35 |
Сообщение № 53
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
Hugo, сейчас посмотрим))
Hugo, сейчас посмотрим)) NICK31
Ответить
Сообщение Hugo, сейчас посмотрим)) Автор - NICK31 Дата добавления - 30.10.2013 в 12:35
NICK31
Дата: Среда, 30.10.2013, 12:37 |
Сообщение № 54
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
я написал application.trim() он не находит этого клиента...
я написал application.trim() он не находит этого клиента... NICK31
Ответить
Сообщение я написал application.trim() он не находит этого клиента... Автор - NICK31 Дата добавления - 30.10.2013 в 12:37
NICK31
Дата: Среда, 30.10.2013, 12:38 |
Сообщение № 55
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
в обоих случаях прописывать или в одном только?
в обоих случаях прописывать или в одном только? NICK31
Ответить
Сообщение в обоих случаях прописывать или в одном только? Автор - NICK31 Дата добавления - 30.10.2013 в 12:38
Hugo
Дата: Среда, 30.10.2013, 13:09 |
Сообщение № 56
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Ну для тех баз, кому нет доверия только...
Ну для тех баз, кому нет доверия только... Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Ну для тех баз, кому нет доверия только... Автор - Hugo Дата добавления - 30.10.2013 в 13:09
NICK31
Дата: Среда, 30.10.2013, 13:12 |
Сообщение № 57
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
ха...а если и там и там я поставил?результата все равно нет...я тогда не понимаю
ха...а если и там и там я поставил?результата все равно нет...я тогда не понимаю NICK31
Ответить
Сообщение ха...а если и там и там я поставил?результата все равно нет...я тогда не понимаю Автор - NICK31 Дата добавления - 30.10.2013 в 13:12
Hugo
Дата: Среда, 30.10.2013, 13:18 |
Сообщение № 58
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3706
Репутация:
792
±
Замечаний:
0% ±
365
Значит не так поставили. Смысл в чём - убить в сравниваемых строках возможные непредсказуемые лишние пробелы, оставить только по одному между слов. Для этого используем application.trim(), но только на фамилии - даты по идее даты и там пробелов быть не должно. По идее...
Значит не так поставили. Смысл в чём - убить в сравниваемых строках возможные непредсказуемые лишние пробелы, оставить только по одному между слов. Для этого используем application.trim(), но только на фамилии - даты по идее даты и там пробелов быть не должно. По идее... Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Значит не так поставили. Смысл в чём - убить в сравниваемых строках возможные непредсказуемые лишние пробелы, оставить только по одному между слов. Для этого используем application.trim(), но только на фамилии - даты по идее даты и там пробелов быть не должно. По идее... Автор - Hugo Дата добавления - 30.10.2013 в 13:18
NICK31
Дата: Среда, 30.10.2013, 14:18 |
Сообщение № 59
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
Hugo, [vba]Код
Option Explicit Sub tt() Dim a(), i&, ii&, t$ With Application .ScreenUpdating = False With CreateObject("Scripting.Dictionary"): .comparemode = 1 a = Sheets(1).[a1].CurrentRegion.Value For i = 2 To UBound(a) t = Application.Trim(a(i, 1)) & "|" & a(i, 2): .Item(t) = i Next a = Sheets(1).[e1].CurrentRegion.Value ReDim b(1 To UBound(a), 1 To 2) For i = 2 To UBound(a) t = Application.Trim(a(i, 1)) & "|" & a(i, 2) If .exists(t) Then ii = ii + 1 b(ii, 1) = a(i, 1) b(ii, 2) = a(i, 2) End If Next End With
[/vba]
Hugo, [vba]Код
Option Explicit Sub tt() Dim a(), i&, ii&, t$ With Application .ScreenUpdating = False With CreateObject("Scripting.Dictionary"): .comparemode = 1 a = Sheets(1).[a1].CurrentRegion.Value For i = 2 To UBound(a) t = Application.Trim(a(i, 1)) & "|" & a(i, 2): .Item(t) = i Next a = Sheets(1).[e1].CurrentRegion.Value ReDim b(1 To UBound(a), 1 To 2) For i = 2 To UBound(a) t = Application.Trim(a(i, 1)) & "|" & a(i, 2) If .exists(t) Then ii = ii + 1 b(ii, 1) = a(i, 1) b(ii, 2) = a(i, 2) End If Next End With
[/vba] NICK31
Ответить
Сообщение Hugo, [vba]Код
Option Explicit Sub tt() Dim a(), i&, ii&, t$ With Application .ScreenUpdating = False With CreateObject("Scripting.Dictionary"): .comparemode = 1 a = Sheets(1).[a1].CurrentRegion.Value For i = 2 To UBound(a) t = Application.Trim(a(i, 1)) & "|" & a(i, 2): .Item(t) = i Next a = Sheets(1).[e1].CurrentRegion.Value ReDim b(1 To UBound(a), 1 To 2) For i = 2 To UBound(a) t = Application.Trim(a(i, 1)) & "|" & a(i, 2) If .exists(t) Then ii = ii + 1 b(ii, 1) = a(i, 1) b(ii, 2) = a(i, 2) End If Next End With
[/vba] Автор - NICK31 Дата добавления - 30.10.2013 в 14:18
NICK31
Дата: Среда, 30.10.2013, 14:21 |
Сообщение № 60
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация:
0
±
Замечаний:
0% ±
Hugo, вроде на данный момент работает, но почему-то так же на работе сделал, не работал при большом объеме клиентов
Hugo, вроде на данный момент работает, но почему-то так же на работе сделал, не работал при большом объеме клиентов NICK31
Ответить
Сообщение Hugo, вроде на данный момент работает, но почему-то так же на работе сделал, не работал при большом объеме клиентов Автор - NICK31 Дата добавления - 30.10.2013 в 14:21