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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск, отбор и вывод в другую таблицу данных. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск, отбор и вывод в другую таблицу данных. (Макросы/Sub)
Поиск, отбор и вывод в другую таблицу данных.
Alara Дата: Среда, 26.11.2014, 16:23 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте.
Никогда так плотно не работала с Эксель и теперь приходится буквально экстерном его изучать на конкретных задачах.
Одна из них состоит в следующем:
Дана табличка, которая заполняется из сторонней программы, поэтому имеет рандомное число строк, НО всегда конкретное количество столбцов.
В этой табличке есть три столбца: 1 (на примере столбец AF), где содержатся гиперссылки на файлы. Значения в этом столбце могут повторяться в произвольном порядке. 2, 3 (Столбцы AG, AH сответственно) - Номера доков, соответствующих файлам по гиперссылкам.
Значения в столбце 2 также могут повторяться, значения в столбце 3 - уникальны.
Требуется вывести на печать табличку из трех столбцов (см. пример на листе два).
В первом столбце таблицы содержаться уникальные значения из столбца AF c листа "отчет", во втором - через запятую, значения из столбца AG с листа "отчет" которые соответствуют строкам, где есть повторы по столбцу AF, третий - тоже самое только значения из столбца AG листа "отчет".
В приложенном примере на листе "отчет" реальный пример таблицы откуда берутся данные, на листе "Лист1" пример того, что должно получиться в табличке.
Помогите плиз, как это лучше всего реализовать?


Сообщение отредактировал Alara - Среда, 26.11.2014, 16:24
 
Ответить
СообщениеЗдравствуйте.
Никогда так плотно не работала с Эксель и теперь приходится буквально экстерном его изучать на конкретных задачах.
Одна из них состоит в следующем:
Дана табличка, которая заполняется из сторонней программы, поэтому имеет рандомное число строк, НО всегда конкретное количество столбцов.
В этой табличке есть три столбца: 1 (на примере столбец AF), где содержатся гиперссылки на файлы. Значения в этом столбце могут повторяться в произвольном порядке. 2, 3 (Столбцы AG, AH сответственно) - Номера доков, соответствующих файлам по гиперссылкам.
Значения в столбце 2 также могут повторяться, значения в столбце 3 - уникальны.
Требуется вывести на печать табличку из трех столбцов (см. пример на листе два).
В первом столбце таблицы содержаться уникальные значения из столбца AF c листа "отчет", во втором - через запятую, значения из столбца AG с листа "отчет" которые соответствуют строкам, где есть повторы по столбцу AF, третий - тоже самое только значения из столбца AG листа "отчет".
В приложенном примере на листе "отчет" реальный пример таблицы откуда берутся данные, на листе "Лист1" пример того, что должно получиться в табличке.
Помогите плиз, как это лучше всего реализовать?

Автор - Alara
Дата добавления - 26.11.2014 в 16:23
ikki Дата: Среда, 26.11.2014, 16:26 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
В приложенном примере
Вы его видите?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
В приложенном примере
Вы его видите?

Автор - ikki
Дата добавления - 26.11.2014 в 16:26
Alara Дата: Среда, 26.11.2014, 16:27 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не подцепляется файл с примером
К сообщению приложен файл: 6644386.xls (98.5 Kb)
 
Ответить
СообщениеНе подцепляется файл с примером

Автор - Alara
Дата добавления - 26.11.2014 в 16:27
ikki Дата: Среда, 26.11.2014, 16:33 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
уникальные выделять умеете?
а дальше - читаем статью, качаем пример и смотрим: http://www.excelworld.ru/board....-1-0-24
будет что конкретно непонятно или не получаться - возвращаемся, показываем, спрашиваем.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Среда, 26.11.2014, 16:43
 
Ответить
Сообщениеуникальные выделять умеете?
а дальше - читаем статью, качаем пример и смотрим: http://www.excelworld.ru/board....-1-0-24
будет что конкретно непонятно или не получаться - возвращаемся, показываем, спрашиваем.

Автор - ikki
Дата добавления - 26.11.2014 в 16:33
Alara Дата: Среда, 26.11.2014, 16:52 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
ikki, выкинула в первый столбец на Лист1 уникальные значения макросом. Но как теперь к этим уникальным присобачить все причитающиеся им номера из столбцов AG и AH хоть ты тресни не знаю(
К сообщению приложен файл: 0305509.xlsm (38.3 Kb)


Сообщение отредактировал Alara - Четверг, 27.11.2014, 14:57
 
Ответить
Сообщениеikki, выкинула в первый столбец на Лист1 уникальные значения макросом. Но как теперь к этим уникальным присобачить все причитающиеся им номера из столбцов AG и AH хоть ты тресни не знаю(

Автор - Alara
Дата добавления - 26.11.2014 в 16:52
Alara Дата: Четверг, 27.11.2014, 15:49 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не понимаю как это оформить? Рандомным количеством массивов? Или это будет переписываться в один и тот же массив?
 
Ответить
СообщениеНе понимаю как это оформить? Рандомным количеством массивов? Или это будет переписываться в один и тот же массив?

Автор - Alara
Дата добавления - 27.11.2014 в 15:49
nilem Дата: Пятница, 28.11.2014, 11:35 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Привет Alara,
попробуйте так
[vba]
Код
Sub ertert()
Dim x, y(), i&, j&, k&
With Sheets("отчёт")
     x = .Range("AF5:AH" & .Cells(Rows.Count, "AF").End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 3)
With CreateObject("Scripting.Dictionary")
     .CompareMode = 1
     For i = 1 To UBound(x)
         If .Exists(x(i, 1)) Then
             k = .Item(x(i, 1))
             If InStr(y(k, 2), x(i, 2)) = 0 Then y(k, 2) = y(k, 2) & ", " & x(i, 2)
             y(k, 3) = y(k, 3) & ", " & x(i, 3)
         Else
             j = j + 1: .Item(x(i, 1)) = j
             y(j, 1) = x(i, 1)
             y(j, 2) = x(i, 2)
             y(j, 3) = x(i, 3)
         End If
     Next i
End With
Sheets("Лист1").Range("A2:C2").Resize(j) = y
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПривет Alara,
попробуйте так
[vba]
Код
Sub ertert()
Dim x, y(), i&, j&, k&
With Sheets("отчёт")
     x = .Range("AF5:AH" & .Cells(Rows.Count, "AF").End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 3)
With CreateObject("Scripting.Dictionary")
     .CompareMode = 1
     For i = 1 To UBound(x)
         If .Exists(x(i, 1)) Then
             k = .Item(x(i, 1))
             If InStr(y(k, 2), x(i, 2)) = 0 Then y(k, 2) = y(k, 2) & ", " & x(i, 2)
             y(k, 3) = y(k, 3) & ", " & x(i, 3)
         Else
             j = j + 1: .Item(x(i, 1)) = j
             y(j, 1) = x(i, 1)
             y(j, 2) = x(i, 2)
             y(j, 3) = x(i, 3)
         End If
     Next i
End With
Sheets("Лист1").Range("A2:C2").Resize(j) = y
End Sub
[/vba]

Автор - nilem
Дата добавления - 28.11.2014 в 11:35
Alara Дата: Понедельник, 01.12.2014, 09:22 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
nilem, Спасибо большое! Все подсоединилось и работает корректно:) Косметику и еще кой какие мелочи прилепила и счастье есть! СПАСИБО ОГРОМНОЕ! hands hands hands
 
Ответить
Сообщениеnilem, Спасибо большое! Все подсоединилось и работает корректно:) Косметику и еще кой какие мелочи прилепила и счастье есть! СПАСИБО ОГРОМНОЕ! hands hands hands

Автор - Alara
Дата добавления - 01.12.2014 в 09:22
Alara Дата: Вторник, 02.12.2014, 16:29 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
А теперь усложним задачу, в столбец D на лист Реестр добавляем сумму разниц ячеек из столбцов T и W, которые соответствуют уникальным ячейкам в столбце AF.
На примере в ячейке D2 Листа Реестр будет значение 4650, в ячейке D3 листа Реестр будет значение 37022 и т.д.
К сообщению приложен файл: Example3.xlsm (38.4 Kb)


Сообщение отредактировал Alara - Среда, 03.12.2014, 09:47
 
Ответить
СообщениеА теперь усложним задачу, в столбец D на лист Реестр добавляем сумму разниц ячеек из столбцов T и W, которые соответствуют уникальным ячейкам в столбце AF.
На примере в ячейке D2 Листа Реестр будет значение 4650, в ячейке D3 листа Реестр будет значение 37022 и т.д.

Автор - Alara
Дата добавления - 02.12.2014 в 16:29
Alara Дата: Четверг, 04.12.2014, 11:29 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Решила вопрос. Спасибо!
 
Ответить
СообщениеРешила вопрос. Спасибо!

Автор - Alara
Дата добавления - 04.12.2014 в 11:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск, отбор и вывод в другую таблицу данных. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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