Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.11.2007, 19:36   #1
Ural-666
Новичок
Джуниор
 
Регистрация: 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 - Прайс
В счет вносятся только те позиции где проставлено колличество
При этом СДВИГАЯ ИТОГО вниз.

Может у кого то есть такой файл - пример и.п.
Ural-666 вне форума
Старый 28.11.2007, 16:39   #2
Vasuha
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 10
По умолчанию

Предлагаю создать макрос и обрабатывать событие "change" первого листа. Ну а там дело техники, при условии A > 0, копировать данные текущей строки на второй лист. Итог второго листа - формула, соответственно сдвинется путем добавления новой строки.
Vasuha вне форума
Старый 28.11.2007, 22:52   #3
bank_notes
Пользователь
 
Регистрация: 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.
bank_notes вне форума
Старый 29.11.2007, 22:54   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

bank_notes, Вы когда копируете чужие макросы, хотя бы пытаться понять зачем нужна та или иная инструкция, или это лишнее … а добавленные перлы, вроде iCell.Rows.Count, iCell.Columns.Count, теперь все читающие этот топик будут знать, что количество строк и столбцов для одной единственной ячейки может быть больше 1
pashulka вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подстановка значений в таблицу по условию 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