|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
27.11.2007, 19:36 | #1 |
Новичок
Джуниор
Регистрация: 27.11.2007
Сообщений: 1
|
? Помогите с переносом данных по условию
Помогите пожалуйста!
Если ячейка скажем в колонке $A$ удовлетворяет какому либо условию (например >0) то что бы данные из этой строки (ячейка которой удовлетворяет определенному значению) переносились в определенную таблицу. При этом желательно СДВИГАЯ ИТОГ. То есть Если например на Лист1 ячейка А10>0 то данные ячеек В10, С10, D10 автоматически заполняли на Лист2 ячейки A1, B1, С1 А11~A14<0 - данные не переносятся на Лист1 ячейка А15>0 то данные ячеек В15, С15, D15 автоматически заполняли на Лист2 ячейки A2, B2, С2 ....................и.т.д =-Еще наглядней=- Лист1 - СЧЕТ Лист2 - Прайс В счет вносятся только те позиции где проставлено колличество При этом СДВИГАЯ ИТОГО вниз. Может у кого то есть такой файл - пример и.п. |
28.11.2007, 16:39 | #2 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 10
|
Предлагаю создать макрос и обрабатывать событие "change" первого листа. Ну а там дело техники, при условии A > 0, копировать данные текущей строки на второй лист. Итог второго листа - формула, соответственно сдвинется путем добавления новой строки.
|
28.11.2007, 22:52 | #3 |
Пользователь
Регистрация: 28.11.2007
Сообщений: 16
|
Sub Zakaz()
With Workbooks("B.xls").Worksheets("H") Dim iDiapazon As Range Dim iCell As Range Dim iCount As Integer Set iDiapazon = .Range(.[J10], .[J65536].End(xlUp)) End With With Application For Each iCell In iDiapazon If .Sum(.CountIf(iCell, iDiapazon)) > 0 Then iCount = iCount + 1 iCell.Offset(0, -9).Resize(iCell.Rows.Count, iCell.Columns.Count + 9) _ .Copy Destination:=Worksheets("D").[1:1].Offset(iCount) End If Next End With End Sub Последний раз редактировалось bank_notes; 29.11.2007 в 20:50. |
29.11.2007, 22:54 | #4 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
bank_notes, Вы когда копируете чужие макросы, хотя бы пытаться понять зачем нужна та или иная инструкция, или это лишнее … а добавленные перлы, вроде iCell.Rows.Count, iCell.Columns.Count, теперь все читающие этот топик будут знать, что количество строк и столбцов для одной единственной ячейки может быть больше 1
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подстановка значений в таблицу по условию | mchip | Microsoft Office Access | 15 | 01.07.2008 09:54 |
объединение таблиц по условию | rexec | Microsoft Office Excel | 2 | 25.05.2008 15:42 |
Проблема с переносом БД на другой комп | HAMMAN | Помощь студентам | 3 | 16.05.2008 10:52 |
выделение листов по условию | Bronyk | Microsoft Office Excel | 5 | 11.03.2008 19:40 |
Скрытие столбцов по условию | snake980 | Microsoft Office Excel | 6 | 26.02.2008 16:52 |