Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2010, 13:12   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Как записать выражение в макросе?

Как записать выражение в макросе, что, если в ячейке Е3, будет менятся число, тогда и в яч. N3 = Е3 будут изменения, ...
На данном этапе у меня, N3 = Е3, запускается через модуль, всего один раз и в дальнейшем в основом коде неиспользуется, стоят числа как данные
Так пишу, но не получается
If Value <> [e5] Then MsgBox 5555

Последний раз редактировалось valerij; 26.10.2010 в 13:30.
valerij вне форума Ответить с цитированием
Старый 26.10.2010, 13:32   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

например, так:

Код:
temp = [e3].value
...
If temp <> [e3].value then [n3]=[e3]
EugeneS вне форума Ответить с цитированием
Старый 26.10.2010, 13:47   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EugeneS Посмотреть сообщение
например, так:

Код:
temp = [e3].value
...
If temp <> [e3].value then [n3]=[e3]
Сделал, так, меняю данные в е3, ни чего не происходит
Код:
temp = [e3].Value
            If temp <> [e3].Value Then [n3] = [e3]: MsgBox [n3]
valerij вне форума Ответить с цитированием
Старый 26.10.2010, 13:53   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

temp = [e3].Value
If temp <> [e3].Value Then [n3] = [e3]: MsgBox [n3]
надеюсь, эти две строки идут одна за другой в коде?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.10.2010, 13:55   #5
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

возможно, Вы подразумевали макрос на событие листа в результате чего изменение ячейки [e3] "запускает" действие с другой ячейкой?
EugeneS вне форума Ответить с цитированием
Старый 26.10.2010, 13:56   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
temp = [e3].Value
If temp <> [e3].Value Then [n3] = [e3]: MsgBox [n3]
надеюсь, эти две строки идут одна за другой в коде?
Ну, да. Так как привел.
valerij вне форума Ответить с цитированием
Старый 26.10.2010, 14:05   #7
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EugeneS Посмотреть сообщение
возможно, Вы подразумевали макрос на событие листа в результате чего изменение ячейки [e3] "запускает" действие с другой ячейкой?
В яч. е3 стоят данные, что бы не тратить время на постоянные проверки уcловий е3 = n3, вот я и хочу, что только изменение в е3, вызовет условие е3 = n3, наверное так не выйдет, придется постоянно контролировать, е3
Код:
Cells(x.Row, 14) = Cells(x.Row, 5) + Sheets(11).Cells(x.Row - dat * 44, 17) * 0.26

Последний раз редактировалось valerij; 26.10.2010 в 14:31.
valerij вне форума Ответить с цитированием
Старый 26.10.2010, 15:05   #8
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

если ячейка Е3 не является результатом формулы, то её изменения можно отследить так, код листа:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 3 And Target.Column = 5 Then [n3] = Target.Value
End Sub
EugeneS вне форума Ответить с цитированием
Старый 26.10.2010, 15:08   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
temp = [e3].Value
If temp <> [e3].Value Then ...
Валера, такой код можно писать только индийским программистам, и работать он будет правильно только на их, индийских, компьютерах.

Украинские же компьютеры такой код не воспримут - тут нужен особый подход.
EducatedFool вне форума Ответить с цитированием
Старый 26.10.2010, 23:30   #10
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EugeneS Посмотреть сообщение
если ячейка Е3 не является результатом формулы,
Игорь, вот видишь и для Украинского компьютеры нашелси код!!!

EugeneS!!
---------------
| ^^пиво^^ \\|""\\_,_
|___________||___|__|)
(@)(@)""*|(@)(@)**(@)

Спасибо!
valerij вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как записать в паскале выражение 92DMITRY Помощь студентам 3 21.06.2010 22:46
Как в Паскале записать математическое выражение vmilyoshin Помощь студентам 2 20.04.2010 07:15
Записать выражение, зависящее от координат точки X1 и Y1 Medik07 Помощь студентам 3 23.09.2009 00:32
Как прописатьв макросе повтор... Bu$ter Microsoft Office Excel 6 18.09.2008 09:40
как создать в макросе числовой формат ячейки? Dima007 Microsoft Office Excel 2 30.05.2008 14:08