Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Запуск макроса при изменении ячейки (НЕ РУЧНОМ), Нужно запускать макрос каждый раз, когда меняется значение ячейки
 
Цитата
написал:
можно поставить на лист текстбокс
Здорово! Работает!
Спасибо большое!!!
Запуск макроса при изменении ячейки (НЕ РУЧНОМ), Нужно запускать макрос каждый раз, когда меняется значение ячейки
 
Цитата
написал:
Ну в какую-то ячейку все равно исходные данные вносятся? Вот ее и отслеживайте
Не так просто...
Вносятся одновременно в несколько. Иногда вручную, иногда автоматически (например, при анализе чувствительности: данные/анализ "что если"/таблица данных).
Вот как раз для анализа чувствительности требуется автоматический запуск макроса. Так-то разово можно и запускать по кнопке его.
Запуск макроса при изменении ячейки (НЕ РУЧНОМ), Нужно запускать макрос каждый раз, когда меняется значение ячейки
 
Цитата
написал:
Ну тогда в Private Sub Worksheet_Change(ByVal Target As Range) отслеживайте не результирующую ячейку, а ячейки, в которые заносите слагаемые
На самом деле в них тоже расчеты с ссылками на другие листы.
Запуск макроса при изменении ячейки (НЕ РУЧНОМ), Нужно запускать макрос каждый раз, когда меняется значение ячейки
 
Добрый день! Наверное, не так:(
Запуск макроса будет осуществляться при любом изменении в документе?

Мне нужно только при изменении конкретной ячейки, т.к. в книге происходит много расчетов, и тогда макрос будет запускаться постоянно, а документ постоянно висеть.
Цитата
написал:
Private Sub Worksheet_Calculate()
Запуск макроса при изменении ячейки (НЕ РУЧНОМ), Нужно запускать макрос каждый раз, когда меняется значение ячейки
 
Добрый день!

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

Такая запись не срабатывает (эксель "не видит", что значение изменилось):

Private Sub Worksheet_Change(ByVal Target As Range)

  If Target.Address = Range("summ").Address Then
   macros
   End If
End Sub

Во вложении файл с примером. Пример упрощен, на самом деле расчет большой и сложный, но суть не меняется.

Как заставить эксель "увидеть"?

Спасибо!
Сводная таблица из нескольких источников, Создание таблицы из нескольких источников без уникальных ролей
 
Цитата
написал:
 to
Спасибо! Работает! Но пытаюсь сводной таблицей сделать, а не макросом. Это условие задания.
Сводная таблица из нескольких источников, Создание таблицы из нескольких источников без уникальных ролей
 
Цитата
написал:
Сводная таблица по нескольким диапазонам данных
Спасибо. Изучаю. Не получается, если в 3-ем источнике порядок столбцов не совпадает с порядком у источников 1 и2. Они обязательно должны совпадать? В примере я сделала одинаковые, а в моем задании они разные. Сейчас попробовала изменить в этом примере - сводная не получилась по Способу 1 из ссылки
Сводная таблица из нескольких источников, Создание таблицы из нескольких источников без уникальных ролей
 
Добрый день!

Можно ли создать сводную таблицу из трех источников, если нет уникальных полей (пример во вложении)?
Нужно посчитать вес по продуктам по месяцам?
У меня офис 10, не получается. Какой офис нужен?
Подбор параметра (циклический), Нужно выполнить условия, меняя 2 параметра
 
Цитата
написал:
сделал циклический подбор, н
Спасибо большое! Буду изучать!
Подбор параметра (циклический), Нужно выполнить условия, меняя 2 параметра
 
Цитата
написал:
прощаем формулы, получаем:
Нет, так не получится. Во-первых, дисконтирование, во-вторых, там все показатели в динамике, такой формулы не получится:( если бы можно было ЧДД просто формулой записать, то и потоки по годам не надо было бы строить. эх
Подбор параметра (циклический), Нужно выполнить условия, меняя 2 параметра
 
Цитата
написал:
Упрощаем формулы, получаем:
Суть поняла. Посмотрю сейчас, возможно ли это применить в моей финансово-экономической модели, где потоки гораздо сложнее и стоимость прибора участвует в расчете бОльшего количества показателей, плюс налоги. Но сейчас попробую составить систему уравнений, спасибо за идею, после отпуска свои отсутствуют))
Подбор параметра (циклический), Нужно выполнить условия, меняя 2 параметра
 
Цитата
написал:
ужно подобрать так, чтобы в I13 и в I23 одновременно было 0?
"Нужно подобрать так, чтобы в I13 и в I23 одновременно было 0?" - да, получается так:)
"Предполагаю, в файле удалили строку, иначе не совсем понятно, что за значения имеются в виду в условии" - файл на самом деле другой, это просто упрощенный вариант, чтобы была понятна задача, цифры тоже из головы, поэтому у вас и получилось отрицательное значение.
В оригинале  все очень сложно и для данной задачи не нужно.
И при подборе такие значения у меня получились в моем расчете, но подбором очень сложно и не красиво
Стоимость Ставка за   услугиЧДД
800   0002 536833 816
900   0002 738329 031
920   0002 779228 074
940   0002 819127 117
967 0002 869120
1   000 0002 940-175 754
1   200 0003 344-1 185 325
Подбор параметра (циклический), Нужно выполнить условия, меняя 2 параметра
 
Компания ("Поставщик услуг") оказывает услуги "Потребителю услуг".
При этом "Поставщик услуг" несет затраты (инвестиции в приобретение приборов для оказания услуг и затраты на их эксплуатацию).
Стоимость услуг рассчитывается из условия безубыточности деятельности (чистый доход от оказания услуг=0, для упрощения в примере - без дисконтирования, суть проблемы не в этом).

Таким образом, Задача 1 - подобрать такую стоимость услуг, при которой чистый доход от оказания услуг=0.
Задача простейшая (можно макросом, можно просто использовать "подбор параметра").
Выручка = стоимость услуг, умноженная на объем услуг.

При этом прогнозируется суммарный чистый доход Поставщика услуг (в который входит выручка от оказания услуг, рассчитанная ранее).


А теперь задача усложняется. Нужно определить стоимость прибора, при которой суммарный чистый доход Поставщика=0.

Что-то мне кажется, что это невозможно выполнить средствами эксель:(
Или все-таки есть варианты??
Заранее спасибо!

Упрощенный пример потоков во вложении.
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
С таймером обратного отсчёта.
Работает отлично! Пошла добавлять остальные картинки (всего 24 должно быть)))
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
Где вы это увидели? Обычный поиск ошибки в коде. На прослушивании не настаиваю.
Согласна))) За код спасибо - пошла пробовать:)
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Не прикрепился файл в прошлом сообщении
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
в конце пропущен переход в конец процедуры
Спасибо за поддержку:)
Так мне и не надо переходить в конец процедуры же..
При Range("para_pr") = 1 (открытие второй карточки) - также надо скрыть кнопку, открыть картинку и потом сразу проверять: если картинки совпали (If Range("para_2") = "para_1_2"), то выходим без действия, а если нет - надо закрыть обе карточки и открыть обе кнопки и только после этого на выход.
Переделала код - разделила процедуры, теперь скрытие по доп.кнопке происходит, мне, конечно, так не нравится, хотелось бы, чтобы сразу: открыл 2 рисунок, проверил, если разные - через 10 сек закрыл обе картинки, открыл обе кнопки
Цитата
написал:
нет же ведь. Если в одну строку - то всё что правее не выполнится если не 0
а мне и не надо, чтобы выполнялось. При Range("para_pr") = 0 - это только если первая картинка открывается, а если вторая уже, то действия При Range("para_pr") = 1
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
Может вы это имели в виду?
Не очень понимаю, насколько принципиально писать в строчку или так, как Вы.

Часть макроса If Range("para_pr") = 0 выполняется корректно и в моем случае
А когда выбираешь вторую картинку (If Range("para_pr") = 1), то она не отображается, как будто понимает, что все равно придется скрывать:) глупость какая-то, не понимаю что за ерунда.

пишу
1 CommandButton1.Visible = False
2 Shapes("para_1_1").Visible = True
3 MsgBox ("!")

Сначала выполняется 3, а потом 1 и 2!!! почему??!!((( причем если запускать Debug, там все корректно

Если нажимать кнопки 13 и потом 1 с одинаковыми картинками - код работает корректно
Если нажимать кнопки  2 и потом 1 с разными - код работает некорректно
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
смотря каким образом создана кнопка. Если это элемент формы - то Application.Caller должен сработать(если вдруг на лету надо определять имя кнопки и записывать в ячейку)
Спасибо, попробую
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
GoTo line_end выполнится независимо от условия "If Range("para_pr") = 0 Then"
Если его не ставить, то перейдет к выполнению действий
CommandButton3.Visible = True
Shapes("para_2_1").Visible = False

а мне при первом нажатии (т.е. когда выбираешь первую картинку)  надо вообще закончить
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Это начальный этап, потом все планировалось унифицировать и сократить, но не получается и на первом шаге:(
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
Вообще такие вопросы нужно задавать с файлом, этими кнопками, задачей, кодом который не работает - тогда можно надеяться быстро получить решение.
Сейчас выложу файл.  
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
Вероятно вы знаете, но на всякий случай напомню, свойства .Name и .Caption это не одно и то же.
Да, это я знаю
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
1 вопрос - обычно если не скрывать, то действие каждой строки сразу видно. Если действие происходит с ячейками листа, а не где-нибудь в памяти.
Странно, что если вместо паузы ставить MsgBox ("!"), то результат действий 1,2 все равно не виден:( хотя он выполняется (Debug показывает)
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Цитата
написал:
1 вопрос - обычно если не скрывать, то действие каждой строки сразу видно. Если действие происходит с ячейками листа, а не где-нибудь в памяти.
Обычно да. Если взять строчки 1,2 - все ок. Но потом мне надо выполнить действия 3.4. Например, через 15 сек. И пока не понимаю КАК сделать. Описанный выше способ перестает отображать действия 1,2

Цитата
написал:
2. имхо не стОит так делать, гемора много, ищите путь полегче
Хм. Пока не вижу способ другой. Сначала надо сохранить номер кнопки, потом с ней выполнить действие.  
Выполнение действия и обращение к CommandButton, Нужно отобразить часть действий в макросе, которые не "успевают отобразиться" на экране
 
Добрый день!
2 вопроса:

1 вопрос: Как сделать так, чтобы был виден результат первых двух строк макроса по нажатию кнопки  CommandButton3 (что написать тут ***??):

1 CommandButton3.Visible = False
2 Shapes("pic_1").Visible = True

' ***
' Если пишу Application.Wait Time:=Now + TimeValue("0:00:10"), то пауза есть, но  действие строк 1-2 не видно на экране :(

3 CommandButton3.Visible = True
4 Shapes("pic_1").Visible = False

2 вопрос: как обратиться к кнопке, номер которой записан в ячейке?

range("A1")=CommandButton3 (или range("A1")=3, все равно, как проще)

Надо скрыть кнопку, о которой говориться в ячейке range("A1")

qqq= range("A1")
qqq.Visible = False

или

qqq= "CommandButton" & range("A1")
qqq.Visible = False

Не работает:(
Проигрыватель в фоновом режиме VBA, Требуется в макросе запускать проигрывание песни так, чтобы проигрыватель был в фоновом режиме
 
Цитата
написал:
Закрыть плеер открытый в скрытом режиме вручную можно через диспетчер задач вкладка «Процессы». Программно умею только, через PID процесса. Но PID возвращает только функция Shell. Надо записать PID при запуске в глобальную переменную или ячейку листа, тогда можно программно закрыть плеер.Например открыть плеер с записью PID в ячейку
Евгений, спасибо!
Буду пробовать! Я тоже любитель - для детей своих делаю игру:)
Проигрыватель в фоновом режиме VBA, Требуется в макросе запускать проигрывание песни так, чтобы проигрыватель был в фоновом режиме
 
Цитата
написал:
Shell "C:\Program Files\Windows Media Player\wmplayer.exe C:\Users\1.mp3", 0
Евгений, добрый день!

Спасибо!

Так всё равно открывается окно с проигрывателем:

Shell "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe C:\2.mp3", 0

И так тоже (и с 0, и с 2). По умолчанию открывается медиаплеер VLC:

With CreateObject("WScript.Shell").Run "C:\Users\1.mp3", 0
End With

А этот (Windows Media Player) открывается в фоновом режиме
Shell "C:\Program Files (x86)\Windows Media Player\wmplayer.exe C\2.mp3", 0

Получается, все дело в самом проигрывателе???

И как теперь остановить воспроизведение??
Изменено: Юлия - 19.05.2024 21:35:34
Проигрыватель в фоновом режиме VBA, Требуется в макросе запускать проигрывание песни так, чтобы проигрыватель был в фоновом режиме
 
Добрый вечер!

Много прочитала ответов на подобный вопрос, но все равно не получается.
Как скрыть проигрыватель, когда макросом запускаешь проигрывание песни?


На работе играло в фоновом, но зато не могла потом найти, как остановить, а дома открывается проигрыватель и никак не скрывается.
Помогите, пожалуйста.

Пишу и так:

CreateObject("WScript.Shell").Run "C:\Users\1.mp3"

И так:

'Set WshShell = CreateObject("WScript.Shell")
'RetCode = WshShell.Run("C:\Users\1.mp3", 1, False)
Подбор параметра по ДВУМ критериям, Нужно подобрать параметр, учитывая 2 критерия
 
,Спасибо
Спасибо всем! ,  ,  С использованием всего того, что вы мне тут предложили, я сделала! Спасибооооо!!!!
Страницы: 1 2 След.
Наверх