Страницы: 1
RSS
Запуск макроса не автоматически, а через кнопку
 
Помогите есть макрос который записывает данные из одной ячейки в другую ячейку автоматически надо, что бы он начинал переносить данные не автоматически , а только при его запуске макроса . Например через кнопку. Прикладываю файл с примером и пояснением.
 
У вас код этого макроса записан в модуле листа. Вы его оттуда выньте, обзовите как-нибудь по-другому, засуньте в стандартный модуль проекта и привяжите к кнопке (или просто через Alt+F8 запускайте).
Кому решение нужно - тот пример и рисует.
 
Не получается. Если можно напишите в примере.
 
вариант
 
Спасибо , но не работает. Кто знает ,как сделать подскажите.
 
Нужно разрешить работу макросов, изменив уровень безопасности.
Вкладка Разработчик-Безопасность_макросов.
 
У меня макросы работают. Может быть я не правильно сформулировал задачу. Например вносим в графу приход Столбец I.или Столбец J или K  Внес несколько значений если неправильно внес корректировку. А потом нажал на кнопку и произошло оприходование или списание или бронь.
 
Цитата
s260190 пишет:
Спасибо , но не работает.
что именно не работает? Там суть такая нажимаешь кнопку Вкл. и ваш макрос будет работать. нажимаешь Выкл. и можно делать в таблице что хотите макрос работать не будет. вник в сообщение №7  - да макрос не тот.  :)
Изменено: V - 09.06.2013 12:02:39
 
Неправильно Вы хотите :)
Или опишите задачу полностью, с подробностями.
 
У меня есть три столбца "Вносим приход", "Вносим расход" и "Вносим бронь". Сейчас если я вношу в них изменения, то эти числа автоматически переносятся в  "Приход", "Расход" и "Бронь". Мне бы хотелось, что бы когда я вношу в столбцы "Вносим приход", "Вносим расход" и "Вносим бронь". Они автоматически не перемещались для того чтобы можно было сделать корректировку.Когда корректировка сделана. Нажимаю например кнопку "Оприходование" и тогда данные переносятся  в столбцы "Приход", "Расход" и "Бронь".
Смысл этой кнопки возможность корректировки данных без автоматического занесения, а только через кнопку.
 
Если в автоматическом режиме всё работает правильно, то просто перенести код (но уже без Target) из событийной процедуры в стандартный модуль и повесить его на кнопку.
Только возникает вопрос: если раньше макрос знал, какую строку копировать, то каким образом дать ему понять, - КАКУЮ из строк он должен скопировать. Вариант: отталкиваться от активной ячейки.
 
Подскажите , как правильно скорректировать макрос:
Код
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    If Not Intersect(Target, Range("I6:K100")) Is Nothing Then
        If IsNumeric(Target.Value) Then
            Application.EnableEvents = False
            Target.Offset(0, 3).Value = Target.Offset(0, 3).Value + Target.Value
            Application.EnableEvents = True
        End If
    End If
End Sub
Что у меня не получается. Перемещаю его в модуль. А как макрос он не показывается.
Изменено: Владимир S - 17.04.2023 14:52:31
 
1.Не показывается потому, что его маскирует слово Private.
2. От Target нужно избавиться (я уже говорил про это).
3. Вы не ответили на вопрос по поводу строки.
А теперь у меня ещё вопрос: ПОЧЕМУ я Вам должен ОТВЕЧАТЬ, если Вы не отвечаете мне?
 
Извините, что не ответил, просто ни как не могу сообразить.Только в этом причина.
 
Думайте - макросу ведь как-то нужно объяснить - КАКУЮ строку обработать. Вариант: обрабатывать ВСЕГДА последнюю строку.
 
Я думал, что можно сделать внес корректировку нажал на "Оприходовать " И макрос сработал. А вот вот в последнюю или иную . Наверно все таки последняя должна быть. А на весь столбец не сработает макрос? Вы уж извините я только учусь.
 
А не поменять ли схему хранения данных?
Храним данные в виде таблицы с полями (Товар,Операция,Сумма по операции)
Работаем так: Выбираем товар-Выбираем операцию-Ставим сумму
Следующая строка... повторяем... Закончили ввод.
Нажимаем на кнопку - получаем сводную в разрезе товаров и операций.
 
См. файл. Формулы в столбце О не нужны. Копируется всегда последняя строка.
 
Юрий М. , спасибо большое. То что надо, то что и хотел.
 
Только не вижу смысла копировать в соседнюю таблицу - наверное, на другой лист нужно?
 
Совершенно верно надо было бы на соседний ( другой) лист.
 
Сами справитесь?
 
Сначала надо почитать. Если не справлюсь напишу.
 
Юрий М., если не трудно подскажите, что то у меня ни, как не получается.
 
Пока занят - немного позже... Или кто-нибудь другой заглянет и подскажет ))
 
См. файл.
 
Юрий М. Спасибо. То что надо. Если не трудно поясните почему столбца обозначаются цифрами, а не буквами (A,B,C,D...)? Или это все равно?
 
Всё зависит от ситуации )
 
Спасибо, за помощь. :)
Страницы: 1
Читают тему
Наверх