powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как Worksheet-е автоматически пересчитать формулы
7 сообщений из 7, страница 1 из 1
Как Worksheet-е автоматически пересчитать формулы
    #33408940
Giorgi_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите советом - создал макрос сумырования двух ячеек Nadd(sCellName As String), в C1 формула =Nadd("Dig1")+Nadd("dig2"), когда курсором указываю на ячеику C1 то сумырование проходит без проблем, а как можно сделать так что при изменении данных в ячеиках Dig1 и Dig2 , резултат выдавлся автоматически?

Спасибо!
...
Рейтинг: 0 / 0
Как Worksheet-е автоматически пересчитать формулы
    #33409216
Покажи функцию Nadd полностью.
...
Рейтинг: 0 / 0
Как Worksheet-е автоматически пересчитать формулы
    #33409540
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция должна принимать не текстовое имя ячейки а объект типа Range
Код: plaintext
1.
2.
Public Function RoundTo100(c As Range) As Double
    RoundTo100 = Round(c.Value,  2 )
End Function
...
Рейтинг: 0 / 0
Как Worksheet-е автоматически пересчитать формулы
    #33410398
Giorgi_ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот эта функция, она принемает значения через имя ячеики (напр. Dig1).

Public Function Nadd(sCellName As String) As Variant

Nadd = ActiveWorkbook.Names(sCellName).RefersToRange.Value

End Function

сама функция работает, но хотелось чтобы перерасчет происходил автоматически, т.е. поменял значение в ячеике, сразу выдавалось новая сумма, а не кликать "энтер" на ячеику где стоит эта функция.
(ну также как это происходит при обичном суммировании в Exell-e).

Спасибо за содеиствие!!!
...
Рейтинг: 0 / 0
Как Worksheet-е автоматически пересчитать формулы
    #33410503
Вариант 1.

Код: plaintext
1.
2.
3.
Public Function Nadd(sCellName As String) As Variant
    Application.Volatile
    Nadd = ActiveWorkbook.Names(sCellName).RefersToRange.Value
End Function

Вариант 2.

Передалать как White Owl посоветовал.

Код: plaintext
1.
2.
Public Function Nadd2(rng As Range) As Variant
    Nadd2 = rng.Value
End Function
...
Рейтинг: 0 / 0
Как Worksheet-е автоматически пересчитать формулы
    #33410558
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покопай вот здесь

Код: plaintext
1.
2.
All open workbooks              Application.Calculate (or just Calculate) 
A specific worksheet            Worksheets( 1 ).Calculate 
A specified range               Worksheets( 1 ).Rows( 2 ).Calculate 

а само обновление повесить на событие
Код: plaintext
1.
2.
Private Sub Worksheet_Change(ByVal Target as Range)
    
End Sub
...
Рейтинг: 0 / 0
Как Worksheet-е автоматически пересчитать формулы
    #33410824
Giorgi_ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо ребята за советы!
Всё заработало, я использовал вот этот пример:

Public Function Nadd(sCellName As String) As Variant
Application.Volatile
Nadd = ActiveWorkbook.Names(sCellName).RefersToRange.Value
End Function

Вызов функции тот же. Тепер этот вариант попробую использовать для боле
сложных вычислениию.

Огромное спасибо за советы!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как Worksheet-е автоматически пересчитать формулы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]