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

Вход

Регистрация

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

 

= Мир MS Excel/Выборка данных из столбца по условию в несколько столбцов - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Выборка данных из столбца по условию в несколько столбцов
Abay Дата: Пятница, 06.06.2014, 07:47 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, необходима помощь в создании макроса.
Есть столбец с данными в Лист1 "Наименование " необходимо выбрать из нее значения, в лист2 по Коду.
каждая деталь в соответствующий столбец кода.
P.S. в оригинале деталей больше, здесь фрагмент.
заранее благодарен.
К сообщению приложен файл: 6833419.xls (23.0 Kb)
 
Ответить
СообщениеЗдравствуйте, необходима помощь в создании макроса.
Есть столбец с данными в Лист1 "Наименование " необходимо выбрать из нее значения, в лист2 по Коду.
каждая деталь в соответствующий столбец кода.
P.S. в оригинале деталей больше, здесь фрагмент.
заранее благодарен.

Автор - Abay
Дата добавления - 06.06.2014 в 07:47
wild_pig Дата: Пятница, 06.06.2014, 08:33 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
А в оригинале количество ячеек под каждый код такое же?

Результат на Лист3
 
Ответить
СообщениеА в оригинале количество ячеек под каждый код такое же?

Результат на Лист3

Автор - wild_pig
Дата добавления - 06.06.2014 в 08:33
Abay Дата: Пятница, 06.06.2014, 09:25 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
нет , он постоянно меняется
 
Ответить
Сообщениенет , он постоянно меняется

Автор - Abay
Дата добавления - 06.06.2014 в 09:25
Abay Дата: Пятница, 06.06.2014, 09:27 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
на лист 3 пустой, результат должен быть в листе2
 
Ответить
Сообщениена лист 3 пустой, результат должен быть в листе2

Автор - Abay
Дата добавления - 06.06.2014 в 09:27
Rioran Дата: Суббота, 07.06.2014, 23:05 | Сообщение № 5
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Abay, здравствуйте.

Предлагаю такой макрос. В ячейках с номером кода убрана текстовая часть.

[vba]
Код
Sub Item_Delivery()

Application.ScreenUpdating = True
With ThisWorkbook.Sheets(1)

Dim X As Long
Dim Y As Long
Dim Target As Range

For X = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
     Y = 0
     Set Target = Sheets(2).[A:A].Find(what:=.Cells(X, 2).Value, LookIn:=xlValues)
     Do While Sheets(2).Cells(Target.Row + Y, 1).Value <> ""
         If Sheets(2).Cells(Target.Row + Y, 1).Value = .Cells(X, 1).Value Then Exit For
         Y = Y + 1
     Loop
     Sheets(2).Cells(Target.Row + Y, 1).Value = .Cells(X, 1).Value
Next X

End With
Application.ScreenUpdating = False

End Sub
[/vba]
К сообщению приложен файл: item_placer.xlsm (19.4 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеAbay, здравствуйте.

Предлагаю такой макрос. В ячейках с номером кода убрана текстовая часть.

[vba]
Код
Sub Item_Delivery()

Application.ScreenUpdating = True
With ThisWorkbook.Sheets(1)

Dim X As Long
Dim Y As Long
Dim Target As Range

For X = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
     Y = 0
     Set Target = Sheets(2).[A:A].Find(what:=.Cells(X, 2).Value, LookIn:=xlValues)
     Do While Sheets(2).Cells(Target.Row + Y, 1).Value <> ""
         If Sheets(2).Cells(Target.Row + Y, 1).Value = .Cells(X, 1).Value Then Exit For
         Y = Y + 1
     Loop
     Sheets(2).Cells(Target.Row + Y, 1).Value = .Cells(X, 1).Value
Next X

End With
Application.ScreenUpdating = False

End Sub
[/vba]

Автор - Rioran
Дата добавления - 07.06.2014 в 23:05
  • Страница 1 из 1
  • 1
Поиск:

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