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

Вход

Регистрация

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

 

= Мир MS Excel/Вывод таблицы по значению - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Вывод таблицы по значению
Stormy Дата: Суббота, 01.03.2014, 13:39 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация: 12 ±
Замечаний: 0% ±

Excel 2010
Добрый день, уважаемые форумчане.
Столкнулся с проблемой. Есть таблица в которой указаны комплектующие для каждого вида товара.
Выбираем товар ххх , рядом в таблице должен отобразиться весь список из Лист2.
Не могу додумать как это делать и с чего начать :(
Буду признателен за подсказки/советы/примеры
К сообщению приложен файл: 0607698.xlsx (9.6 Kb)


Место для рекламы.
 
Ответить
СообщениеДобрый день, уважаемые форумчане.
Столкнулся с проблемой. Есть таблица в которой указаны комплектующие для каждого вида товара.
Выбираем товар ххх , рядом в таблице должен отобразиться весь список из Лист2.
Не могу додумать как это делать и с чего начать :(
Буду признателен за подсказки/советы/примеры

Автор - Stormy
Дата добавления - 01.03.2014 в 13:39
wild_pig Дата: Суббота, 01.03.2014, 15:43 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
В модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("C3:C100")) Is Nothing Then
         With Sheets("Лист2")
             a = .Range("C3:D" & .Cells(Rows.Count, 3).End(xlUp).Row).Value
         End With
         rw = Target.Row
         For i = 1 To UBound(a)
             If a(i, 1) = Target Then
                 Cells(rw, 4) = a(i, 2)
                 rw = rw + 1
             End If
         Next
     End If
End Sub
[/vba]
 
Ответить
СообщениеВ модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("C3:C100")) Is Nothing Then
         With Sheets("Лист2")
             a = .Range("C3:D" & .Cells(Rows.Count, 3).End(xlUp).Row).Value
         End With
         rw = Target.Row
         For i = 1 To UBound(a)
             If a(i, 1) = Target Then
                 Cells(rw, 4) = a(i, 2)
                 rw = rw + 1
             End If
         Next
     End If
End Sub
[/vba]

Автор - wild_pig
Дата добавления - 01.03.2014 в 15:43
Stormy Дата: Суббота, 01.03.2014, 16:05 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация: 12 ±
Замечаний: 0% ±

Excel 2010
wild_pig,
0 эффекта ((


Место для рекламы.
 
Ответить
Сообщениеwild_pig,
0 эффекта ((

Автор - Stormy
Дата добавления - 01.03.2014 в 16:05
wild_pig Дата: Суббота, 01.03.2014, 16:45 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Макросы должны быть включены и модуль листа это не просто модуль.
К сообщению приложен файл: 3092826.xlsm (15.8 Kb)
 
Ответить
СообщениеМакросы должны быть включены и модуль листа это не просто модуль.

Автор - wild_pig
Дата добавления - 01.03.2014 в 16:45
Stormy Дата: Суббота, 01.03.2014, 17:23 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация: 12 ±
Замечаний: 0% ±

Excel 2010
wild_pig,
Именно так и делал, поэтому и удивился . Спасибо большое


Место для рекламы.
 
Ответить
Сообщениеwild_pig,
Именно так и делал, поэтому и удивился . Спасибо большое

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

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