Страницы: 1
RSS
Макрос копирования ячеек по условию.
 
Доброго утра Всем,
 прошу помощи написать макрос, есть список материалов, необходимо при добавлении в ячейку количества, копировалось значение с ячеек товар и цена на лист накладная, как в примере.
 
Для этих целей макрос не обязательны. Попробуйте сами справиться, посмотрев ЭТО  и  ЭТО
Изменено: Sanja - 22.11.2014 12:59:12
Согласие есть продукт при полном непротивлении сторон
 
Спасибо за  внимание, я прочитал, пробовал использовать функцию впр, но мне кажется она мне не подходит, так как таблица на листе список состоит из более 1000 строк, для формирования накладной я нахожу нужный товар и ставлю количество, затем в накладной должны создаваться строки и копироваться значения с наименованием и ценой.
Изменено: krdin - 22.11.2014 21:42:09
 
можно и без макроса.
пример в файле
F1 творит чудеса
 
Для повышения опыта. Два макроса.
Скрытый текст
Тестируйте.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Максим Зеленский пишет: можно и без макроса.
Хороший вариант, но  есть не большой недостаток, для того чтоб работала формула необходимо в "накладной" иметь таблицу с пустыми строками.( В принципе можно и вручную добавлять и удалять. ) Спасибо.
 
JayBhagavan,Спасибо! Это именно то что нужно. Я хотел бы Вас попросить написать где вносить коррективы если у меня в оригинале добавятся строки и столбцы.  
 
Код
Sub jjj()
...
copytosheetname = "Накладная" ' имя листа ГДЕ формируется накладная
Set copytosheetaddr = Sheets(copytosheetname).Range("A2") ' A2 - стартовая позиция в накладной
i1 = 2 ' номер строки с которой берутся данные для накл.
...
.Offset(cnt, 0).Value = cnt + 1 ' 0) - столбец для счётчика в накл.
.Offset(cnt, 1).Value = Cells(i, 2).Value ' 1 ... 2 - столбец для номенклатуры в накл. и исх. ан.
.Offset(cnt, 4).Value = Cells(i, 3).Value ' по аналогии - цена
.Offset(cnt, 3).Value = Cells(i, 5).Value ' --"-- - кол-во
...
Sub jjj2()
...
[E:E].Resize([E:E].Rows.Count - 1).Offset(1).ClearContents ' [E:E] - столбец в исх. дан. с кол-ом для очистки

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan,Еще раз спасибо,  за оперативный ответ. Все понятно, буду пробовать.
Страницы: 1
Наверх