Доброго времени. Подскажите пожалуйста как обойти проблему. Написала макрос, который копирует значения столбца Д и А., но есть одна беда, часто густо значения на Листе1 повторяются и мой макрос их как бы дублирует, ведь он просто копирует. Мне же хочется что бы макрос дописывал значения которых еще нет на Листе 2, т.к. далее эти данные обрабатывает следующий макрос и он не может понять куда ему идти. Пробовала удалять дубли. Но макрос удаления дублей, удаляет первые значения которые ему попались. Что не приемлемо в моем случае. Так как в строке №3 будут данные "суммирующие" На листе 2 представлена табличка как должно быть и как выглядит (строка 1-2) Всем спасибо и хорошего дня. Забыла добавить. Столбцов может быть сколько угодно
Доброго времени. Подскажите пожалуйста как обойти проблему. Написала макрос, который копирует значения столбца Д и А., но есть одна беда, часто густо значения на Листе1 повторяются и мой макрос их как бы дублирует, ведь он просто копирует. Мне же хочется что бы макрос дописывал значения которых еще нет на Листе 2, т.к. далее эти данные обрабатывает следующий макрос и он не может понять куда ему идти. Пробовала удалять дубли. Но макрос удаления дублей, удаляет первые значения которые ему попались. Что не приемлемо в моем случае. Так как в строке №3 будут данные "суммирующие" На листе 2 представлена табличка как должно быть и как выглядит (строка 1-2) Всем спасибо и хорошего дня. Забыла добавить. Столбцов может быть сколько угодноOlena
Уникальные значения. Решение вроде нашла, пока тестирую, оно не совсем верное. Но ожидаемый результат вроде есть. Сегодня потестирую, завтра скину на всеобщее обозрение)
Уникальные значения. Решение вроде нашла, пока тестирую, оно не совсем верное. Но ожидаемый результат вроде есть. Сегодня потестирую, завтра скину на всеобщее обозрение)Olena
Вы не ответили на мой вопрос. Попробуйте такой макрос [vba]
Код
Sub test() Dim arr Dim dicD As Object Dim dicA As Object Dim i As Long Dim iLastRow As Long iLastRow = Cells(Rows.Count, "D").End(xlUp).Row Set dicA = CreateObject("Scripting.Dictionary"): dicA.comparemode = 1 Set dicD = CreateObject("Scripting.Dictionary"): dicD.comparemode = 1 arr = Range("A9:D" & iLastRow).Value For i = 1 To UBound(arr) dicA.Item(arr(i, 1)) = dicA.Item(arr(i, 1)) '& arr(i, 1) & "," dicD.Item(arr(i, 4)) = dicD.Item(arr(i, 4)) '& arr(i, 1) & "," Next i Worksheets("2").Range("B10").Resize(1, dicD.Count) = dicD.keys Worksheets("2").Range("B11").Resize(1, dicA.Count) = dicA.keys End Sub
[/vba] Результат в строках 10 и 11 листа "2"
Вы не ответили на мой вопрос. Попробуйте такой макрос [vba]
Код
Sub test() Dim arr Dim dicD As Object Dim dicA As Object Dim i As Long Dim iLastRow As Long iLastRow = Cells(Rows.Count, "D").End(xlUp).Row Set dicA = CreateObject("Scripting.Dictionary"): dicA.comparemode = 1 Set dicD = CreateObject("Scripting.Dictionary"): dicD.comparemode = 1 arr = Range("A9:D" & iLastRow).Value For i = 1 To UBound(arr) dicA.Item(arr(i, 1)) = dicA.Item(arr(i, 1)) '& arr(i, 1) & "," dicD.Item(arr(i, 4)) = dicD.Item(arr(i, 4)) '& arr(i, 1) & "," Next i Worksheets("2").Range("B10").Resize(1, dicD.Count) = dicD.keys Worksheets("2").Range("B11").Resize(1, dicA.Count) = dicA.keys End Sub
[/vba] Результат в строках 10 и 11 листа "2"Kuzmich
Простите) У меня есть таблица. В ней мне интересующие столбцы А и D. в столбцах есть повторяющиеся\дублирующие названия. Самую пакость мне делает значения в столбце А, они повторяются, тем самым вводят в заблуждения еще одним макрос которой работает через Find. я попробовала написать так и вроде вышло, но в рабочую книгу не могу что то перенести. И так, написала следующим образом: макрос переносит два столбца, потом удаляет дубли из значений что в столбце А (но уже перенесенные на листе 1. Потом запускаю следующий макрос, который идет на листе 2 "второй строки" пустые ячейки и удаляет именно эти столбцы. Что получила от этого. Как бы уникальные значения по второй строке. Простите, видать я не так объяснила. Ваш макрос тоже верно работает, но он удаляет по "первой" строке. и тем самым вторая строка как бы не трогается и получается, что неравномерное смещение. Все вроде работает. Но появилось одно но( Сейчас в файле на Лист 2 добавила кнопку обработки так как я хочу. т.е. жмем кнопку на первом листе и потом на втором. получаем данные. Но. третья строка содержит данные, которые надо сберечь. Расчитывала, что когда макрос перенесет их то и данные в строке 3 (желтый цвет) как бы в соотношении станет. А получается, что когда удаляю пустые столбцы, то и данные с в троке 3 смещаются. Перед нажатием кнопок посмотрите лист 2, что бы видеть как есть и потом надать кнопочку. Макрос удалит пустые ячейки с столбцом и как бы получиться красивая картина. Но потом повторно обновлю данные на листе 1(перенос на лист2) данные станут, а вот третья строка уже будет со смещением.
Простите) У меня есть таблица. В ней мне интересующие столбцы А и D. в столбцах есть повторяющиеся\дублирующие названия. Самую пакость мне делает значения в столбце А, они повторяются, тем самым вводят в заблуждения еще одним макрос которой работает через Find. я попробовала написать так и вроде вышло, но в рабочую книгу не могу что то перенести. И так, написала следующим образом: макрос переносит два столбца, потом удаляет дубли из значений что в столбце А (но уже перенесенные на листе 1. Потом запускаю следующий макрос, который идет на листе 2 "второй строки" пустые ячейки и удаляет именно эти столбцы. Что получила от этого. Как бы уникальные значения по второй строке. Простите, видать я не так объяснила. Ваш макрос тоже верно работает, но он удаляет по "первой" строке. и тем самым вторая строка как бы не трогается и получается, что неравномерное смещение. Все вроде работает. Но появилось одно но( Сейчас в файле на Лист 2 добавила кнопку обработки так как я хочу. т.е. жмем кнопку на первом листе и потом на втором. получаем данные. Но. третья строка содержит данные, которые надо сберечь. Расчитывала, что когда макрос перенесет их то и данные в строке 3 (желтый цвет) как бы в соотношении станет. А получается, что когда удаляю пустые столбцы, то и данные с в троке 3 смещаются. Перед нажатием кнопок посмотрите лист 2, что бы видеть как есть и потом надать кнопочку. Макрос удалит пустые ячейки с столбцом и как бы получиться красивая картина. Но потом повторно обновлю данные на листе 1(перенос на лист2) данные станут, а вот третья строка уже будет со смещением.Olena