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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2011, 04:10   #1
АлексЖур
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 11
По умолчанию Как разобраться с макросом

Уважаемые господа, прошу помочь,

У меня пример с макросом
Private Sub worksheet_change(ByVal Target As Range)
Dim irow As Long
If Target.Count > 1 Or Target.Address <> "$F$22" Then Exit Sub
With Range("склад"): irow = .Find(Target.Offset(0, -2).Value, LookIn:=xlValues, lookat:=xlWhole).Row: End With
Cells(irow, "e") = Cells(irow, "e") - Target.Value
End Sub

Сам файлик в приложении.

Он нужен для уменьшения позиций на складе (скажем форма 1) при заполнении листа продаж (форма 2).

Я с макросами работал давно, сейчас подзабыл эту область и прошу помощи.
Где можно прочитать информацию, чтобы перенести такой макрос на другой файл, а то я делаю малейшее изменение (например меняю ячейку f22) и у меня все перестает работать. Хотелось бы понять что делает каждая запись, т.е. расшифровать его. Если не затруднит помогите новичку )
Вложения
Тип файла: zip paska27 .zip (11.2 Кб, 11 просмотров)
АлексЖур вне форума Ответить с цитированием
Старый 08.11.2011, 04:47   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

это сработывает каждый раз когда изменилось значение в ячейке F22 (и только в ней одной)
в именованом диапазоне "склад" находится строка, содержащая значение такое же как в ячейке D22, затем значение из F22 записывается в ячеку Е, в найденную ранее строку.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.11.2011, 16:48   #3
АлексЖур
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 11
По умолчанию

Спасибо за ответ.

А если у меня не одна ячейка куда нужно вставлять этот макрос, а каждый день таких строк добавляется скажем штук 50. Как это можно реализовать? Чтобы при заполнении новой строки там присутствовал макрос, при чем не всегда, скажем если это подведение итогов по заказу то там макроса с записью на скад быть не должно.
Просто протянуть ячейку где есть макрос не получается, тем более в коде макроса стоят фиксаторы ячейки $$. Если я их убираю макрос перестает работать (
АлексЖур вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться с макросом Lexey_fan Microsoft Office Excel 6 31.10.2011 14:07
Как переименовать лист макросом? Pavarotti Microsoft Office Excel 9 24.02.2011 07:50
открытие нескольких книг одним макросом и закрытие книг другим макросом kursant95 Microsoft Office Excel 6 27.01.2011 16:54
Как поделиться макросом с коллегами? Questru Microsoft Office Excel 19 21.01.2011 15:32
Как запустить запрос макросом? Glusch&Co Microsoft Office Access 1 19.02.2009 15:41