Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/95: Рейтинг темы: голосов - 95, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 30

Запуск/продолжение выполнения макроса по изменению ячейки

21.07.2013, 18:58. Показов 19357. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Изучаю VBA самостоятельно ввиду необходимости использования его на работе. Подскажите пожалуйста есть ли возможность запуска макроса или продолжение исполнение макроса по изменению какой либо ячейки?
Например стоит у меня в ячейке 0, при изменении 0 на любое другое число начинается/продолжается выполнение макроса.
Заранее благодарю!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.07.2013, 18:58
Ответы с готовыми решениями:

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

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

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

34
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
16.09.2013, 18:38
Студворк — интернет-сервис помощи студентам
KoGG, KoGG, Добрый день можна в личке пообщатся?
0
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
25.09.2013, 10:07
Простите за столь простой вопрос

Есть: в листе exel при изменении даты в ячейке с2 и нажатии ентр, меняется дата в к1 и происходит расчет ячеек d5:e5 и g5:h5 (1-2 сек). Далее нажимаем рассчитать для выполнения дальнейших исчислений.
Надо: автоматизировать путем 1)если изменилось содержимое d5:e5 и g5:h5 запустить макрос1, или 2) сравнить содержимое с2 и к1 (в с2 мы дату меняем вручную т.е.каждый день изменяем например сегодня ставим 23.09.2013, завтра 24 и т.д.) (в к1 стоит формула которая будет выбирать данные с базы за то число которое ввели в с2 и соответственно имеет вид даты) если равно , то запустить макрос1.

Спасибо .
0
 Аватар для KoGG
5730 / 1633 / 419
Регистрация: 23.12.2010
Сообщений: 2,455
Записей в блоге: 1
25.09.2013, 15:58
.....
Вложения
Тип файла: xls Dvian_Запуск_макроса_2усл.xls (37.5 Кб, 38 просмотров)
1
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
25.09.2013, 20:37
Спасибо большое. Сегодня проверить не успел. Проверю завтра на работе.
0
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
25.09.2013, 21:18
вот мой исходный файл
Вложения
Тип файла: rar Тульчин-Шаблон (1).rar (2.54 Мб, 18 просмотров)
0
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
26.09.2013, 10:33
Добрый день. Выдает ошибку на строке If .Value <> Oldvalue(1, j) Then
0
 Аватар для KoGG
5730 / 1633 / 419
Регистрация: 23.12.2010
Сообщений: 2,455
Записей в блоге: 1
26.09.2013, 13:53
.....
Вложения
Тип файла: zip Тульчин-Шаблон (1).zip (2.86 Мб, 47 просмотров)
1
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
26.09.2013, 15:48
Спасибо. Но при изменении даты происходит расчет d5:e5, g5:h5, меняется дата в к1 ето все хорошо. но дальше происходит сохранение листа только с заполнеными (расчитаными) ячейками d5:e5, g5:h5, а остальные пустые. Т.Е не проходит расчет от d6 и дальше до d225 . . . Если подставить в условие If Uslovie Then Call Макрос 3 '
'
Application.Calculation = xlCalculationManual

Range("D5:E5").AutoFill Destination:=Range("D5:E225"), Type:=xlFillDefault
Range("G5:H5").AutoFill Destination:=Range("G5:H225"), Type:=xlFillDefault
Range("D201:E220").ClearContents
Range("G140:H140").ClearContents
Range("G116:H116").ClearContents
Range("G87:H87").ClearContents
Range("G56:H56").ClearContents
Range("G40:H41").ClearContents
Range("D21:E23").ClearContents

Application.Calculation = xlCalculationAutomatic

то производится расчет нормально, но сохранение (макрос 2) дальше автоматически не идет.

Спасибо за ваше терпение
0
 Аватар для KoGG
5730 / 1633 / 419
Регистрация: 23.12.2010
Сообщений: 2,455
Записей в блоге: 1
26.09.2013, 17:21
Если содержание CommandButton1_Click не менялось, то надо сделать так:
Visual Basic
1
2
3
4
5
6
7
8
9
If Uslovie Then
    Call CommandButton1_Click
    Call Макрос2
Else
    If C2Changed And Me.[C2] = Me.[K1] Then
        Call CommandButton1_Click
        Call Макрос2
    End If
End If
1
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
27.09.2013, 11:48
УРАААА!!! Заработало!!!! Спасибо огромное!!! Вы гений!!! Еще раз спасибо!!!

Добавлено через 17 часов 48 минут
Еще 1 вопрос: как изменить значения в столбцах С5:с225, и f5:f225 уже перед сохранением , так, что бы убрать первые 6 знаков в результате чего останется 1 или 2 последних знака?
Спасибо
0
 Аватар для KoGG
5730 / 1633 / 419
Регистрация: 23.12.2010
Сообщений: 2,455
Записей в блоге: 1
27.09.2013, 12:43
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Макрос2()
    Application.Calculation = xlCalculationManual
    Dim Ar, i%, k%
    Ar = ActiveSheet.[C2:H225]
    Application.CutCopyMode = False
    ActiveSheet.[C2:H225].Copy
    Workbooks.Add
    With ActiveSheet
        .[A1:F224].PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        For i = 4 To 224
            k = Len(Ar(i, 1))
            If k > 6 Then Ar(i, 1) = Right(Ar(i, 1), Len(Ar(i, 1)) - 6)
            k = Len(Ar(i, 4))
            If k > 6 Then Ar(i, 4) = Right(Ar(i, 4), Len(Ar(i, 4)) - 6)
        Next
        .[A1:F224] = Ar
    End With
    ChDir "S:\РСЛ\Тульчин"
    ActiveWorkbook.SaveAs Filename:="S:\РСЛ\Тульчин\Тульчин.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    Application.Calculation = xlCalculationAutomatic
    ActiveWindow.Close
    ActiveWindow.Close
End Sub
1
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
27.09.2013, 13:32
ВСЕ отлично. Спасобо.
0
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
11.03.2014, 22:18
Добрый вечер снова! Возникло новое задание. Прошу помощи в условном форматировании: Есть таблица по 3 повторяющихся столбика. 1 столбик номер независимый, 2 и 3- числа. надо узнать % соотношение ячеек 2 и 3 столбика, если допустим меньше 10%, то залить 2 и 3 ячейку в желтый цвет.Таблица имеет до 50 строк, и каждый день на протяжении месяца добавляются новые два по три столбика. В таблице присутствую также пустые ячейки, которые не надо форматировать. Спасибо. Прикрепляю пример листа одного дня. Далее лист наращивается вправо.
Вложения
Тип файла: xlsx Krizhopil.xlsx (16.3 Кб, 5 просмотров)
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
11.03.2014, 23:32
Цитата Сообщение от dvian Посмотреть сообщение
надо узнать % соотношение ячеек 2 и 3 столбика, если допустим меньше 10%, то залить 2 и 3 ячейку в желтый цвет
Наверно, Вы имеете в виду "разница ячеек 2 и 3 столбика меньше 10%", но относительно чего - ячейки 2 или 3 ст.?
Поясню: 11 и 10, разница 1, это меньше 10% отн. 11 и равно 10% отн. 10.
0
0 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 12
11.03.2014, 23:45
Например С12/В12 (5/42*100=11,9%)-не закрашиваем, а с20/в20 (2/38*100=5,26%)-закрашиваем. То же самое к отношению столбцов f/e.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2014, 23:45

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

Запуск макроса при изменении ячейки
Как сделать чтобы при изменении одной или нескольких ячеек (B2,B3,B4,B5) запускался макрос который делал бы ячейку Н4 равную Е4 Я просто...

Запуск макроса при изменении ячейки
Как сделать, чтобы при изменении значения ячейки, запускался нужный макрос?

Запуск макроса после изменения ячейки
Товарищи, подсобите, пожалуйста! Имеется ячейка с выпадающим списком. Задача - сделать так, чтобы при выборе нового значения из списка,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru