Страницы: 1
RSS
Макрос для вставки одной и той же формулы
 
Добрые день! Я тут новичек на форуме, всё время находила ответы на свои вопросы, а тут не могу найти, и решила зарегится и написать на форум.

Задача: сделать постоянную кнопку или макрос, при нажатии которой будет вставляться необходимая формула

Каждую пятницу делаю отчет, и использую постоянно две формы в разных книгах.
Приходится держать один постоянно открытый файл эксель, и копировать оттуда формулы по очереди в новые файлы. За день примерно создаю около 40-50 файлов.
Возможно ли сделать постоянную кнопку или макрос, при нажатии которой будет вставляться необходимая формула?
В макросах я не сильна воообще, но когда пыталась сделать, поняла что один макрос для одной конктректной книги?? возможно я конечно не правильно поняла
 
d.zakhodyakina@gmail.com, начните с ознакомления с нашими Правилами.
Поменяйте в своём профиле отображаемое имя для начала, и покажите Ваш небольшой файл-пример.
Спасибо!
 
Добрый. Давайте разберемся и четко сформулируем вопрос:
"при нажатии будет вставляться необходимая формула"
Сразу непонятно - вставляться КУДА должна формула? В новый файл? На новый лист в этом же файле? Откуда она должна вставляться? Из файла-шаблона?
Может вам и макрос то не нужен, может достаточно один раз создать книгу-шаблон с нужными формулами в необходимых ячейках, а потом на основании этого шаблона создавать новые файлы и заполнять их данными?
Подробнее можете описать?
Кому решение нужно - тот пример и рисует.
 
Пытливый, не помогайте до устранения замечания - в последнее время резко участились нарушения, несмотря на которые, автор получил, что хотел и "забил"  :(
С уважением…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Юрий, у меня в профиле вроде Имя стоит и Обращение, почему логин тут не выводится не знаю ((((

1. Скачиваю новый файл. Это детализация от оператора. Там есть какие то данные. В колонку мне нужно вставить формулу, она всегда одинаковая
2. Добавляю новый лист, туда вставляют еще детализацию от другово оператора. В колонку вставляю формулу, отличную от той которую на 1й лист вставляла.

Суть в том, что каждый раз это новый файл, скаченный из личного кабинета. Соответственно с меняющимися данными, не меняются там только положение столбцов

У меня есть просто эксель файл, не шаблон, где записаны эти две формулы, и я их оттуда просто копирую. Это не очень дуобно по 40 раз лазеть туда сюда. Прикрепляю пример, там 2 листа, формулы которые я вставляю в колонках К и Е соответственно
Изменено: Дарья - 03.06.2016 12:17:49
 
d.zakhodyakina@gmail.com, У меня убрана галочка, поэтому отображается ЛОГИН, комбинируйте…
Изменено: Jack Famous - 03.06.2016 12:14:19
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вообще поменяла... поставила галку показывать имя
 
Я бы сделал файл с макросом и одной кнопкой, по которой запускается этот макрос.
А уже он покажет диалог выбора файла и когда пользователь выберет файл, то откроет его и впихнёт в нужные места нужные формулы.
Не стреляйте в тапера - он играет как может.
 
Тогда это займет еще больше времени чем просто копирование формулы из другого файла
 
Тогда вариант - написать макрос на вставление формулы №1 на активном листе, и макрос на вставлением формулы №2 на активном листе. Эти макросы сохранить в личной книге макросов, чтобы они были доступны для любого файла, с которым работаете.
Получили детализацию - активировали лист, запустили макрос номер раз.
Добавили лист, добавили детализацию от другого оператора - запустили макрос №2.

В общем, как-то так: на первом листе выделяете в А столбце ячейки с данными - запускаете макрос ФормулаРаз
На втором листе опять выделяете в А столбце ячейки с данными - запускаете макрос ФормулаДва
макросы можно такие:
Код
Sub ФормулаРАЗ()
    Dim objC As Range
        For Each objC In Selection
            objC.Offset(0, 10).FormulaLocal = "=ЕСЛИ(" & objC.Offset(0, 7).Address & _
            "=""00:00:00"";0;ЕСЛИ(" & objC.Offset(0, 7).Address & _
            "=""00:00:01"";0;ЕСЛИ(" & objC.Offset(0, 7).Address & _
            "=""00:00:02"";0;((ОКРУГЛВВЕРХ(" & objC.Offset(0, 7).Address & "/ВРЕМЯ(;1;);0)*ВРЕМЯ(;1;))*1440))))"
        Next objC
End Sub
Sub ФормулаДВА()
    Dim objC As Range
        For Each objC In Selection
            objC.Offset(0, 3).FormulaLocal = "=ЕСЛИ(" & objC.Offset(0, 1).Address & _
            "=0,01;0;ЕСЛИ(" & objC.Offset(0, 1).Address & "=0,02;0;ЕСЛИ(" & _
            objC.Offset(0, 1).Address & "=0,03;0;ЕСЛИ(" & objC.Offset(0, 1).Address & _
            "=0,04;0;ОКРУГЛВВЕРХ(" & objC.Offset(0, 1).Address & ";0)))))"
        Next objC
        Selection.Cells(Selection.Cells.Count).Offset(1, 3).FormulaLocal = "=СУММ(" & _
        Selection.Cells(1).Offset(0, 3).Address & ":" & Selection.Cells(Selection.Cells.Count).Offset(0, 3).Address & ")"
End Sub
Кому решение нужно - тот пример и рисует.
 
а куда его сохранить чтобы он доступен для всех файлов был? Открыла VB, вставила Ваш код, а дальше то как?
 
А не думали делать наоборот, создать шаблон эксель с нужной формулой в нужном месте, скачали файл открыли его, нажали "Выделить Все" скопировали все данные из него в шаблон (в котором формулы уже стоят), вуаля... сохранили с нужным именем, не изменяя оригинальный шаблон.
 
и как во 2й формуле поменять за какую ячейку он должен цепляться? Он цепляется в вашем макросе за столбец H, а надо за столбец B
И в формуле раз, так же нужна сумма по завершению
Изменено: Дарья - 03.06.2016 15:01:07
 
Цитата
KOLLIAK написал :...создать шаблон эксель с нужной формулой в нужном мест...
Говорю же, это заёмет еще бошльше времени чем копировать формулу из одно постоянно открытого файла. И по сути это одно и тоже получается. Шило на мыло
 
Пытливый, макрос работает, спасибо Вам огромнейшее!!
как сохранить его в личную книгу макросов не знаю, Но он теперь каждый раз, когда я его использую в новом файле, открывает файл "пример" где собственно и был записан сам макрос. Наверно это потому что там и сохранен...
 
Дарья, запишите какой-нибудь макрос макрорекордером, в качестве места сохранения укажите личную книгу макросов. После этого книга Personal.xlsb появится в списке проектов, там и сохраняйте.
Страницы: 1
Читают тему
Наверх