Создание перечня по совпадающим значениям
light26
Дата: Суббота, 29.09.2012, 09:42 |
Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Всем привет. Я сначала хотел через ВПР и ЕСЛИ, но потом понял, что без макроса не обойтись. Подскажите код для решения следующей задачи: есть 2 листа: "Старый" и "Новый". На листах есть совпадающие данные. Требуется сравнить значения столбца А на листе "Новый" со значениями столбца "А" на листе "Старый". Если нашлись совпадения, то строка, содержащаяся на листе "Новый" копируется на лист "Итог"
Всем привет. Я сначала хотел через ВПР и ЕСЛИ, но потом понял, что без макроса не обойтись. Подскажите код для решения следующей задачи: есть 2 листа: "Старый" и "Новый". На листах есть совпадающие данные. Требуется сравнить значения столбца А на листе "Новый" со значениями столбца "А" на листе "Старый". Если нашлись совпадения, то строка, содержащаяся на листе "Новый" копируется на лист "Итог" light26
Я не волшебник. Я только учусь
Ответить
Сообщение Всем привет. Я сначала хотел через ВПР и ЕСЛИ, но потом понял, что без макроса не обойтись. Подскажите код для решения следующей задачи: есть 2 листа: "Старый" и "Новый". На листах есть совпадающие данные. Требуется сравнить значения столбца А на листе "Новый" со значениями столбца "А" на листе "Старый". Если нашлись совпадения, то строка, содержащаяся на листе "Новый" копируется на лист "Итог" Автор - light26 Дата добавления - 29.09.2012 в 09:42
KuklP
Дата: Суббота, 29.09.2012, 10:09 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Public Sub www()
Dim i&, r, e&, r1
r = Sheets("Старый" ).UsedRange.Columns(1 )
r1 = Sheets("Новый" ).UsedRange.Columns(1 )
On Error Resume Next
For i = 1 To UBound (r1)
e = 0 : e = Application.Match(r1(i, 1 ), r, 0 )
If e > 0 Then Sheets("Новый" ).Rows(i).Copy Sheets("Итог" ).[a65536] .End(xlUp).Offset(1 ): Err.Clear
Next
End Sub
Public Sub www()
Dim i&, r, e&, r1
r = Sheets("Старый" ).UsedRange.Columns(1 )
r1 = Sheets("Новый" ).UsedRange.Columns(1 )
On Error Resume Next
For i = 1 To UBound (r1)
e = 0 : e = Application.Match(r1(i, 1 ), r, 0 )
If e > 0 Then Sheets("Новый" ).Rows(i).Copy Sheets("Итог" ).[a65536] .End(xlUp).Offset(1 ): Err.Clear
Next
End Sub
KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Суббота, 29.09.2012, 10:15
Ответить
Сообщение [vba]
Public Sub www() Dim i &, r , e &, r1 r = Sheets("Старый").UsedRange.Columns(1) r1 = Sheets("Новый").UsedRange.Columns(1) On Error Resume Next For i = 1 To UBound(r1 ) e = 0: e = Application.Match(r1 (i , 1), r , 0) If e > 0 Then Sheets("Новый").Rows(i ).Copy Sheets("Итог").[a65536 ].End(xlUp ).Offset(1): Err.Clear Next End Sub
[/vba] Автор - KuklP Дата добавления - 29.09.2012 в 10:09
light26
Дата: Суббота, 29.09.2012, 10:25 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Переделал под свой файл и из 8000 строк совпали только 37. ))) Спасибо огромное, Сергей
Переделал под свой файл и из 8000 строк совпали только 37. ))) Спасибо огромное, Сергей light26
Я не волшебник. Я только учусь
Ответить
Сообщение Переделал под свой файл и из 8000 строк совпали только 37. ))) Спасибо огромное, Сергей Автор - light26 Дата добавления - 29.09.2012 в 10:25
light26
Дата: Суббота, 29.09.2012, 10:27 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
KuklP, Только один вопрос: что такое [a65536] в коде?
KuklP, Только один вопрос: что такое [a65536] в коде? light26
Я не волшебник. Я только учусь
Ответить
Сообщение KuklP, Только один вопрос: что такое [a65536] в коде? Автор - light26 Дата добавления - 29.09.2012 в 10:27
ikki
Дата: Суббота, 29.09.2012, 10:30 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация:
504
±
Замечаний:
0% ±
Excel 2003, 2010
Цитата (light26 писал(а)):
без макроса не обойтись.
гм? с доп.столбцом, без макроса
Цитата (light26 писал(а)):
без макроса не обойтись.
гм? с доп.столбцом, без макросаikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Ответить
Сообщение Цитата (light26 писал(а)):
без макроса не обойтись.
гм? с доп.столбцом, без макросаАвтор - ikki Дата добавления - 29.09.2012 в 10:30
KuklP
Дата: Суббота, 29.09.2012, 11:09 |
Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Цитата (light26 писал(а)):
что такое [a65536] в коде?
Самая нижняя ячейка в столбце А:-)
Цитата (light26 писал(а)):
что такое [a65536] в коде?
Самая нижняя ячейка в столбце А:-)KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Цитата (light26 писал(а)):
что такое [a65536] в коде?
Самая нижняя ячейка в столбце А:-)Автор - KuklP Дата добавления - 29.09.2012 в 11:09
light26
Дата: Суббота, 29.09.2012, 11:10 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (KuklP писал(а)):
Самая нижняя ячейка в столбце А
Дык это ж зависит от версии екселя
Цитата (KuklP писал(а)):
Самая нижняя ячейка в столбце А
Дык это ж зависит от версии екселя light26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (KuklP писал(а)):
Самая нижняя ячейка в столбце А
Дык это ж зависит от версии екселя Автор - light26 Дата добавления - 29.09.2012 в 11:10
KuklP
Дата: Суббота, 29.09.2012, 11:12 |
Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Конечно. Но в файле xls больше быть не может.
Конечно. Но в файле xls больше быть не может. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Конечно. Но в файле xls больше быть не может. Автор - KuklP Дата добавления - 29.09.2012 в 11:12
light26
Дата: Суббота, 29.09.2012, 12:46 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (KuklP писал(а)):
Но в файле xls больше быть не может.
Да, только у меня 2007. Просто в правилах сказано, что лучше прикладывать файл-пример в 2003
Цитата (KuklP писал(а)):
Но в файле xls больше быть не может.
Да, только у меня 2007. Просто в правилах сказано, что лучше прикладывать файл-пример в 2003light26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (KuklP писал(а)):
Но в файле xls больше быть не может.
Да, только у меня 2007. Просто в правилах сказано, что лучше прикладывать файл-пример в 2003Автор - light26 Дата добавления - 29.09.2012 в 12:46
light26
Дата: Суббота, 29.09.2012, 12:48 |
Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (ikki писал(а)):
с доп.столбцом, без макроса
Спасибо, но с макросом-то поудобнее будет (без обид)
Цитата (ikki писал(а)):
с доп.столбцом, без макроса
Спасибо, но с макросом-то поудобнее будет (без обид)light26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (ikki писал(а)):
с доп.столбцом, без макроса
Спасибо, но с макросом-то поудобнее будет (без обид)Автор - light26 Дата добавления - 29.09.2012 в 12:48
KuklP
Дата: Суббота, 29.09.2012, 12:52 |
Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Ну напиши: Sheets("Итог").cells(Sheets("Итог").rows.count,1).End(xlUp).Offset(1)
Ну напиши: Sheets("Итог").cells(Sheets("Итог").rows.count,1).End(xlUp).Offset(1) KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Ну напиши: Sheets("Итог").cells(Sheets("Итог").rows.count,1).End(xlUp).Offset(1) Автор - KuklP Дата добавления - 29.09.2012 в 12:52
light26
Дата: Суббота, 29.09.2012, 12:53 |
Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
KuklP, и справка выдает Keyword Not Found на запрос по [a65536]. А без [a65536] никак не обойтись?
KuklP, и справка выдает Keyword Not Found на запрос по [a65536]. А без [a65536] никак не обойтись? light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Суббота, 29.09.2012, 12:53
Ответить
Сообщение KuklP, и справка выдает Keyword Not Found на запрос по [a65536]. А без [a65536] никак не обойтись? Автор - light26 Дата добавления - 29.09.2012 в 12:53
ikki
Дата: Суббота, 29.09.2012, 13:05 |
Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация:
504
±
Замечаний:
0% ±
Excel 2003, 2010
какие обиды? сам такие задачи делаю макросом. но это не отменяет тот факт, что и формулами они делаются довольно просто и быстро. кроме того - одно дело тупо пользоваться макросом, даже не заглядывая в него, при неизменной структуре данных. и совсем другое - при каждом чихе бегать по инету и ныть "поправьте мне макрос" возможно, кому-нибудь другому будет проще разобраться в "формульном" варианте.
какие обиды? сам такие задачи делаю макросом. но это не отменяет тот факт, что и формулами они делаются довольно просто и быстро. кроме того - одно дело тупо пользоваться макросом, даже не заглядывая в него, при неизменной структуре данных. и совсем другое - при каждом чихе бегать по инету и ныть "поправьте мне макрос" возможно, кому-нибудь другому будет проще разобраться в "формульном" варианте. ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Суббота, 29.09.2012, 13:08
Ответить
Сообщение какие обиды? сам такие задачи делаю макросом. но это не отменяет тот факт, что и формулами они делаются довольно просто и быстро. кроме того - одно дело тупо пользоваться макросом, даже не заглядывая в него, при неизменной структуре данных. и совсем другое - при каждом чихе бегать по инету и ныть "поправьте мне макрос" возможно, кому-нибудь другому будет проще разобраться в "формульном" варианте. Автор - ikki Дата добавления - 29.09.2012 в 13:05
light26
Дата: Суббота, 29.09.2012, 13:12 |
Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (ikki писал(а)):
и совсем другое - при каждом чихе бегать по инету и ныть "поправьте мне макрос"
Ну, надеюсь, это не в мой огород камушек Я в каждом макросе стараюсь разобраться сам. Че не понятно - спрашиваю тут
Цитата (ikki писал(а)):
и совсем другое - при каждом чихе бегать по инету и ныть "поправьте мне макрос"
Ну, надеюсь, это не в мой огород камушек Я в каждом макросе стараюсь разобраться сам. Че не понятно - спрашиваю тутlight26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (ikki писал(а)):
и совсем другое - при каждом чихе бегать по инету и ныть "поправьте мне макрос"
Ну, надеюсь, это не в мой огород камушек Я в каждом макросе стараюсь разобраться сам. Че не понятно - спрашиваю тутАвтор - light26 Дата добавления - 29.09.2012 в 13:12
ikki
Дата: Суббота, 29.09.2012, 13:14 |
Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация:
504
±
Замечаний:
0% ±
Excel 2003, 2010
Цитата (light26 писал(а)):
Ну, надеюсь, это не в мой огород камушек
нет. но, Вадим, тот факт, что вы пытаетесь найти справку по [a65536] через F1 - настораживает это не ключевое слово языка (VBA), это не объект, метод или свойство объектной модели приложения (Excel) это просто один из способов обращения к конкретной ячейке листа из кода
[a65536]
Range("A65536" )
Cells(65536 ,1 )
и т.д. вы же не будете нажимать F1 на 65536 в последней команде? не думаю, что включить в справку отдельный раздел на каждую ячейку - хорошая идея.
Цитата (light26 писал(а)):
Ну, надеюсь, это не в мой огород камушек
нет. но, Вадим, тот факт, что вы пытаетесь найти справку по [a65536] через F1 - настораживает это не ключевое слово языка (VBA), это не объект, метод или свойство объектной модели приложения (Excel) это просто один из способов обращения к конкретной ячейке листа из кода
[a65536]
Range("A65536" )
Cells(65536 ,1 )
и т.д. вы же не будете нажимать F1 на 65536 в последней команде? не думаю, что включить в справку отдельный раздел на каждую ячейку - хорошая идея.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Суббота, 29.09.2012, 13:22
Ответить
Сообщение Цитата (light26 писал(а)):
Ну, надеюсь, это не в мой огород камушек
нет. но, Вадим, тот факт, что вы пытаетесь найти справку по [a65536] через F1 - настораживает это не ключевое слово языка (VBA), это не объект, метод или свойство объектной модели приложения (Excel) это просто один из способов обращения к конкретной ячейке листа из кода [vba]
[a65536 ] Range("A65536") Cells(65536,1)
[/vba] и т.д. вы же не будете нажимать F1 на 65536 в последней команде? не думаю, что включить в справку отдельный раздел на каждую ячейку - хорошая идея.Автор - ikki Дата добавления - 29.09.2012 в 13:14
light26
Дата: Суббота, 29.09.2012, 13:53 |
Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (ikki писал(а)):
не думаю, что включить в справку отдельный раздел на каждую ячейку - хорошая идея
я об этом и не говорил Цитата (ikki писал(а)):
вы же не будете нажимать F1 на 65536 в последней команде?
не буду, а вЦитата (KuklP писал(а)):
If e > 0 Then Sheets("Новый").Rows(i).Copy Sheets("Итог").[a65536].End(xlUp).Offset(1): Err.Clear
нажал. потому как очень плохо знаю синтаксис VBA.Цитата (ikki писал(а)):
но, Вадим, тот факт, что вы пытаетесь найти справку по [a65536] через F1 - настораживает
не стоит беспокоиться
Цитата (ikki писал(а)):
не думаю, что включить в справку отдельный раздел на каждую ячейку - хорошая идея
я об этом и не говорил Цитата (ikki писал(а)):
вы же не будете нажимать F1 на 65536 в последней команде?
не буду, а вЦитата (KuklP писал(а)):
If e > 0 Then Sheets("Новый").Rows(i).Copy Sheets("Итог").[a65536].End(xlUp).Offset(1): Err.Clear
нажал. потому как очень плохо знаю синтаксис VBA.Цитата (ikki писал(а)):
но, Вадим, тот факт, что вы пытаетесь найти справку по [a65536] через F1 - настораживает
не стоит беспокоитьсяlight26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (ikki писал(а)):
не думаю, что включить в справку отдельный раздел на каждую ячейку - хорошая идея
я об этом и не говорил Цитата (ikki писал(а)):
вы же не будете нажимать F1 на 65536 в последней команде?
не буду, а вЦитата (KuklP писал(а)):
If e > 0 Then Sheets("Новый").Rows(i).Copy Sheets("Итог").[a65536].End(xlUp).Offset(1): Err.Clear
нажал. потому как очень плохо знаю синтаксис VBA.Цитата (ikki писал(а)):
но, Вадим, тот факт, что вы пытаетесь найти справку по [a65536] через F1 - настораживает
не стоит беспокоитьсяАвтор - light26 Дата добавления - 29.09.2012 в 13:53