Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
iliabob
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 5
1

Сравнение столбцов, при совпадении переместить столбцы на новый лист

05.06.2015, 13:27. Просмотров 1141. Ответов 10
Метки нет (Все метки)

Помогите решить.

Есть 1 столбец с числовыми данными, есть 2 столбец с такими же числовыми данными, и есть еще 5 столбцов просто с данными.

задача сравнить 1 столбец со 2 на совпадение, если одинаковые, то переместить совпадение и другие 5 столбцов на новый лист.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2015, 13:27
Ответы с готовыми решениями:

При совпадении 4 условий значения ячеек суммировать из листа №1 в лист №2
В общем расклад такой: Нужно чтоб при совпадении четырех условий значения ячеек суммировались из...

Сравнение массивов с выводом балла при совпадении
Уважаемые форумчане, прошу прощения, но снова обращаюсь за советом. Прочёл на форуме про сравнение...

Сравнение ячеек на разных страницах и копирование строки при совпадении
Здравствуйте! Помогите пожалуйста! С vba раньше ничего не связвало, а сейчас появилась огромная...

Выборка на отдельный лист из перечня при совпадении
Доброго времени суток! Прошу помочь мне в решении вопроса следующего содержания (пример приложен):...

Подскажите как вывести результат при совпадении в таблице на отдельный лист?
Доброго времени суток Вам. Есть Лист с Прайс листом и Лист с группой по скидкам. На третьем...

10
Hugo121
6447 / 2507 / 448
Регистрация: 19.10.2012
Сообщений: 7,507
05.06.2015, 13:38 2
Совершенно неконкретная задача. Есть конечно подозрения...
0
Vlad999
3159 / 1941 / 619
Регистрация: 02.11.2012
Сообщений: 4,986
05.06.2015, 13:50 3
файл пример поможет прояснить задачу.
0
iliabob
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 5
05.06.2015, 13:52  [ТС] 4
Вот Файл,
т.е. если совпадает значение из первого столбца со вторым, то 2,3,4,5 столбец переместить на новый лист
0
Вложения
Тип файла: xls пример.xls (29.0 Кб, 13 просмотров)
05.06.2015, 13:52
Hugo121
6447 / 2507 / 448
Регистрация: 19.10.2012
Сообщений: 7,507
05.06.2015, 14:03 5
А шестой зачем?
И может когда совпадает второй с первым?
И не столбец, а ячейка?
И не перемещать, а копировать?
И не столбцы, а значения ячеек этой совпавшей строки?
А данных сколько?
А система какая?
0
iliabob
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 5
05.06.2015, 14:28  [ТС] 6
шестой не надо,
совпадение значения ячейки первого столбца из ячеик второго стобца, копирование этой строчки в новый лист
данных порядка 4000 шт, система ms excel 2010
0
Hugo121
6447 / 2507 / 448
Регистрация: 19.10.2012
Сообщений: 7,507
05.06.2015, 15:14 7
Лучший ответ Сообщение было отмечено iliabob как решение

Решение

Цитата Сообщение от iliabob Посмотреть сообщение
система ms excel 2010
- это не система. Система Win или Mac (Linux/Android пока кажется с Экселем не дружат).
И это важно, чтоб зря код не писать.
0
iliabob
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 5
05.06.2015, 15:18  [ТС] 8
Windows
0
Hugo121
6447 / 2507 / 448
Регистрация: 19.10.2012
Сообщений: 7,507
05.06.2015, 15:48 9
ОК.
Всё будет в новой книге.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Option Explicit
 
Sub tt()
    Dim a(), i&, ii&, x&
 
    With CreateObject("Scripting.Dictionary"): .comparemode = 1
 
        a = Range([A2], Cells(Rows.Count, "A").End(xlUp))
 
        For i = 1 To UBound(a): .Item(CStr(a(i, 1))) = 0&: Next
 
        a = Range([B2], Cells(Rows.Count, "E").End(xlUp))
 
        For i = 1 To UBound(a)
            If .exists((CStr(a(i, 1)))) Then
                ii = ii + 1
                For x = 1 To 4: a(ii, x) = a(i, x): Next
            End If
        Next
 
    End With
 
    With Workbooks.Add(1).Sheets(1).[a1]
        .Resize(ii, 1).NumberFormat = "@"    'это можно не делать
        .Offset(, 1).Resize(ii, 3).NumberFormat = "m/d/yyyy"    'это можно не делать
        .Resize(ii, 4) = a
    End With
 
    Erase a
End Sub
0
iliabob
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 5
09.06.2015, 10:53  [ТС] 10
Спасибо работает.
Подскажите как расширить диапазон копирования строчки с 4 до 10 в новую книгу?
0
Hugo121
6447 / 2507 / 448
Регистрация: 19.10.2012
Сообщений: 7,507
09.06.2015, 11:08 11
Т.е. предлагаете снова качать, набивать в файл данные, снова вникать? Некогда.
Судя по коду - нужно шире брать в массив (вместо E вероятно пишите K), дольше делать цикл (lj 10), шире выгрузку (.Resize(ii, 10)). Не проверял
0
09.06.2015, 11:08
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 11:08

Сравнить столбцы и записать уникальные значения при совпадении
Здравствуйте. Помогите пожалуйста. Необходимо, сравнить данные из столбца 1 со столбцом 6. Если...

Построчное сравнение двух таблиц и вывод результата при совпадении
Есть книга Эксель с двумя таблицами на двух листах. В первой таблице - список телефонов, полученных...

Сравнение двух столбцов Excel и вывод на другой лист общих значений
Доброго времени суток. Встала острая необходимость в следующем: на листе "Замечания" есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.