Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос содержимого столбцов без дублей - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос содержимого столбцов без дублей (Макросы/Sub)
Перенос содержимого столбцов без дублей
Olena Дата: Четверг, 28.07.2022, 15:06 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 1 ±
Замечаний: 20% ±

Доброго времени. Подскажите пожалуйста как обойти проблему.
Написала макрос, который копирует значения столбца Д и А., но есть одна беда, часто густо значения на Листе1 повторяются и мой макрос их как бы дублирует, ведь он просто копирует. Мне же хочется что бы макрос дописывал значения которых еще нет на Листе 2, т.к. далее эти данные обрабатывает следующий макрос и он не может понять куда ему идти. Пробовала удалять дубли. Но макрос удаления дублей, удаляет первые значения которые ему попались. Что не приемлемо в моем случае. Так как в строке №3 будут данные "суммирующие"
На листе 2 представлена табличка как должно быть и как выглядит (строка 1-2)
Всем спасибо и хорошего дня.
Забыла добавить. Столбцов может быть сколько угодно
К сообщению приложен файл: RTY_2.xls (86.0 Kb)


Сообщение отредактировал Olena - Четверг, 28.07.2022, 15:10
 
Ответить
СообщениеДоброго времени. Подскажите пожалуйста как обойти проблему.
Написала макрос, который копирует значения столбца Д и А., но есть одна беда, часто густо значения на Листе1 повторяются и мой макрос их как бы дублирует, ведь он просто копирует. Мне же хочется что бы макрос дописывал значения которых еще нет на Листе 2, т.к. далее эти данные обрабатывает следующий макрос и он не может понять куда ему идти. Пробовала удалять дубли. Но макрос удаления дублей, удаляет первые значения которые ему попались. Что не приемлемо в моем случае. Так как в строке №3 будут данные "суммирующие"
На листе 2 представлена табличка как должно быть и как выглядит (строка 1-2)
Всем спасибо и хорошего дня.
Забыла добавить. Столбцов может быть сколько угодно

Автор - Olena
Дата добавления - 28.07.2022 в 15:06
Kuzmich Дата: Четверг, 28.07.2022, 18:16 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Olena, почему в таблице 'Так хочется получить' два значения r во второй строке?
 
Ответить
СообщениеOlena, почему в таблице 'Так хочется получить' два значения r во второй строке?

Автор - Kuzmich
Дата добавления - 28.07.2022 в 18:16
Olena Дата: Четверг, 28.07.2022, 21:57 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 1 ±
Замечаний: 20% ±

Так хочется получить

Уникальные значения.
Решение вроде нашла, пока тестирую, оно не совсем верное. Но ожидаемый результат вроде есть.
Сегодня потестирую, завтра скину на всеобщее обозрение)
 
Ответить
Сообщение
Так хочется получить

Уникальные значения.
Решение вроде нашла, пока тестирую, оно не совсем верное. Но ожидаемый результат вроде есть.
Сегодня потестирую, завтра скину на всеобщее обозрение)

Автор - Olena
Дата добавления - 28.07.2022 в 21:57
Kuzmich Дата: Четверг, 28.07.2022, 22:12 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Вы не ответили на мой вопрос.
Попробуйте такой макрос
[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
Дата добавления - 28.07.2022 в 22:12
Olena Дата: Пятница, 29.07.2022, 09:50 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 1 ±
Замечаний: 20% ±

Вы не ответили на мой вопрос.

Простите)
У меня есть таблица. В ней мне интересующие столбцы А и D.
в столбцах есть повторяющиеся\дублирующие названия.
Самую пакость мне делает значения в столбце А, они повторяются, тем самым вводят в заблуждения еще одним макрос которой работает через Find.
я попробовала написать так и вроде вышло, но в рабочую книгу не могу что то перенести.
И так, написала следующим образом:
макрос переносит два столбца, потом удаляет дубли из значений что в столбце А (но уже перенесенные на листе 1. Потом запускаю следующий макрос, который идет на листе 2 "второй строки" пустые ячейки и удаляет именно эти столбцы.
Что получила от этого.
Как бы уникальные значения по второй строке.
Простите, видать я не так объяснила.
Ваш макрос тоже верно работает, но он удаляет по "первой" строке. и тем самым вторая строка как бы не трогается и получается, что неравномерное смещение.
Все вроде работает. Но появилось одно но(
Сейчас в файле на Лист 2 добавила кнопку обработки так как я хочу.
т.е. жмем кнопку на первом листе и потом на втором. получаем данные. Но. третья строка содержит данные, которые надо сберечь. Расчитывала, что когда макрос перенесет их то и данные в строке 3 (желтый цвет) как бы в соотношении станет. А получается, что когда удаляю пустые столбцы, то и данные с в троке 3 смещаются.
Перед нажатием кнопок посмотрите лист 2, что бы видеть как есть и потом надать кнопочку. Макрос удалит пустые ячейки с столбцом и как бы получиться красивая картина.
Но потом повторно обновлю данные на листе 1(перенос на лист2) данные станут, а вот третья строка уже будет со смещением.
К сообщению приложен файл: 3653330.xls (95.5 Kb)


Сообщение отредактировал Olena - Пятница, 29.07.2022, 10:00
 
Ответить
Сообщение
Вы не ответили на мой вопрос.

Простите)
У меня есть таблица. В ней мне интересующие столбцы А и D.
в столбцах есть повторяющиеся\дублирующие названия.
Самую пакость мне делает значения в столбце А, они повторяются, тем самым вводят в заблуждения еще одним макрос которой работает через Find.
я попробовала написать так и вроде вышло, но в рабочую книгу не могу что то перенести.
И так, написала следующим образом:
макрос переносит два столбца, потом удаляет дубли из значений что в столбце А (но уже перенесенные на листе 1. Потом запускаю следующий макрос, который идет на листе 2 "второй строки" пустые ячейки и удаляет именно эти столбцы.
Что получила от этого.
Как бы уникальные значения по второй строке.
Простите, видать я не так объяснила.
Ваш макрос тоже верно работает, но он удаляет по "первой" строке. и тем самым вторая строка как бы не трогается и получается, что неравномерное смещение.
Все вроде работает. Но появилось одно но(
Сейчас в файле на Лист 2 добавила кнопку обработки так как я хочу.
т.е. жмем кнопку на первом листе и потом на втором. получаем данные. Но. третья строка содержит данные, которые надо сберечь. Расчитывала, что когда макрос перенесет их то и данные в строке 3 (желтый цвет) как бы в соотношении станет. А получается, что когда удаляю пустые столбцы, то и данные с в троке 3 смещаются.
Перед нажатием кнопок посмотрите лист 2, что бы видеть как есть и потом надать кнопочку. Макрос удалит пустые ячейки с столбцом и как бы получиться красивая картина.
Но потом повторно обновлю данные на листе 1(перенос на лист2) данные станут, а вот третья строка уже будет со смещением.

Автор - Olena
Дата добавления - 29.07.2022 в 09:50
Olena Дата: Пятница, 29.07.2022, 10:52 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 1 ±
Замечаний: 20% ±

Сделала, вместо удаления, написала скрыть столбцы да и все.
Будет много конечно информации, но мне и так сойдет)
 
Ответить
СообщениеСделала, вместо удаления, написала скрыть столбцы да и все.
Будет много конечно информации, но мне и так сойдет)

Автор - Olena
Дата добавления - 29.07.2022 в 10:52
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос содержимого столбцов без дублей (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!