0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
|
|
1 | |
Поиск схожих значений в двух столбцах и перенос из первого на другой лист10.09.2013, 01:09. Показов 2731. Ответов 11
Метки нет (Все метки)
Добрый вечер! Идея такая! Есть Два столбца, Один большой, второй меньше, нужно найти значения из столбца 2 в столбце 1, удалить их оттуда и перенести на второй лист. Все это с помощью кнопки VBA.
Код нужен. Сможете помочь?
0
|
10.09.2013, 01:09 | |
Ответы с готовыми решениями:
11
Поиск строки и перенос двух соответствующих ей ячеек на другой лист Перенос значений на другой лист по заданной дате Перенос значений на другой лист с поиском свободной строки Перенос только необходимых значений ячеек из столбца на другой лист без интервала |
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
10.09.2013, 10:33 | 2 |
Слово "схожих" ставит в тупик. Я понимаю как "похожих" - это так? Если да, то какие критерии схожести? И лучше Вам дать образец Ваших столбцов.
0
|
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,721
|
|
10.09.2013, 11:09 | 3 |
Без примера и доп.информации делать бестолково. Т.к. не видны (не известны, нужны пояснения) многие мелочи:
1.насколько большие столбцы? 2.какие данные? (может там рисунки нужно сравнивать? или даты написанные как попало? или банальные пробелы раскиданы хаотичным образом?) 3.сколько экземпляров этих повторяющихся данных? что делать с повторами? а если вдруг будут? или точно не будут? 4.удалять только данные или строки целиком? 5.переносить все повторы или только по одному разу? 6.переносить только данные, или ячейки со всеми форматами? 7.а может там формулы? 8.или вообще отображаемые значения созданы форматом? 9.второй лист - он уже есть? что там? 10.где вообще эти два столбца? в каком виде? может там хаотичные объединения? ...
0
|
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
|
|
11.09.2013, 20:17 [ТС] | 4 |
1 столбец А, но теоретически может быть где угодно, в нем указано очень много номеров телефонов, примерно 1000, формат 79020001100. Во втором столбце С, черный список, немного номеров, штук 50, формат без семерки. Нужно найти номера из черного списка в первом столбце и перенести их на лист 2, просто пустой лист.
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
11.09.2013, 20:59 | 5 |
Рядом с черным списком, в соседнем ст., выдлелите диапазон ячеек от первого "черного" до последнего "черного".
Нажмите = . Дальше пишите countif( . Выделите весь ст. "А". Наберите на кл-ре ; . Выделите номер в черном списке слева от ячейки, в которую записываете формулу. Наберите на кл-ре ) . Нажмите комбинацию Cntr + Enter. Выберите фильтром которые не 0 и скопируйте куда хотите. И все. Все без точек.
0
|
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
|
|
11.09.2013, 23:03 [ТС] | 6 |
0
|
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
|
|
11.09.2013, 23:08 [ТС] | 7 |
Вот пример документа с макросом. Но не работает.
0
|
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
|
|
11.09.2013, 23:10 [ТС] | 8 |
Sub Кнопка3_Щелчок()
Dim lLastRowA As Long Dim lLastRowC As Long Dim i As Long Dim rFind As Excel.Range Dim shSheet_1 As Excel.Worksheet Dim shSheet_2 As Excel.Worksheet Set shSheet_1 = Worksheets(1) Set shSheet_2 = Worksheets(2) lLastRowA = Cells(Rows.Count, "A").End(xlUp).Row lLastRowC = Cells(Rows.Count, "H").End(xlUp).Row + 1 Application.ScreenUpdating = False For i = 2 To lLastRowA Step 1 Set rFind = Columns("C").Find(What:=Cells(i, "A").Text, LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not rFind Is Nothing Then Cells(lLastRowC, "H").Value = Cells(i, "A").Value lLastRowC = lLastRowC + 1 End If Next i Application.ScreenUpdating = True End Sub
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
11.09.2013, 23:14 | 9 |
Не понял. Это вам такое задание, или лично для себя?
0
|
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
|
|
11.09.2013, 23:25 [ТС] | 10 |
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
11.09.2013, 23:25 | 11 |
Здесь формулой.
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
||||||||||||||||
12.09.2013, 14:42 | 12 | |||||||||||||||
Копируете код в обычный модуль Вашей книги. Правой кнопкой мыши на Вашей кнопке на листе. Там будет что-то "Присвоить макрос". Выбираете "Эта Книга", указываете макрос "BlackInWhite".
Сделал через массивы (не знаю, как Вам нужно). Результаты - в массиве arrR. Выкладываются на этом же листе. Если надо на другом - точно так, только это .[h2].Resize(UBound(arrR), 1).Value = arrR удалите оттуда, где оно теперь, и вставите, после End With, это:
Кликните здесь для просмотра всего текста
Добавлено через 3 часа 54 минуты И здесь. Подправил немного Ваш код, если нужно через Find. Кликните здесь для просмотра всего текста
0
|
12.09.2013, 14:42 | |
12.09.2013, 14:42 | |
Помогаю со студенческими работами здесь
12
Перенос значений из отдельного листа Эксель в другой лист на основании выбранного значения по столбцу Перенос строки с данными на другой лист и с дальнейшим удалением всей строки с первого листа Поиск заданного значения в нескольких листах и при нахождении перенос значений в итоговый лист Сравнение двух столбцов Excel и вывод на другой лист общих значений Поиск на нескольких листах определенных значений и подтягивание найденных строк в другой лист Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |