Поиск значения события (вводимое пользовk

Автор Frontber, 31 января 2012, 10:35

0 Пользователи и 1 гость просматривают эту тему.

Frontber

не, Hasim, мне не надо значение ячейки С1,
мне надо значение события c=oEvent.Source.String

neft

#16
Цитата: Frontber от  1 февраля 2012, 16:01
мне надо значение события c=oEvent.Source.String
Событие - chartDataChanged(oEvent)  - произошло изменение данных
oEvent.Source.String - данные, получаемые с помощью обработки этого события
в данном случае эти  данные - новое значение типа данных с (из TYPE(с)),
а =TYPE(c) - некорректный вызов функции TYPE

Frontber

neft, спасибо за отклик.

ЦитироватьСобытие - chartDataChanged(oEvent)  - произошло изменение данных
oEvent.Source.String - данные, получаемые с помощью обработки этого события
да, я это понимаю. Заковыка в том, что не удается вставить это самое значение oEvent.Source.String в формулу (как впрочем и в дальнейший - макрос сравнения).
Иными словами

Цитироватьа =TYPE(c) - некорректный вызов функции TYPE
как сделать, чтобы функция вызывалась корректно?  Если Вам не трудно, поясните, пожалуйста.
Допустим, есть замысел, обработать значение события формулой,
для теста возьмем, например, эту же "=TYPE()",
пишу  oCell.setFormula("=TYPE(с)") --- ошибка, ок. Как корректно вставить значение события в формулу, вызываемую макросом?

neft

Вы не можете вставить значение переменной Basic в формулу электронной таблицы.
=TYPE(c)

Аргументами формулы электронной таблицы могут быть только:
явно заданные строки =TYPE("asdfg")
явно заданные числа =TYPE(456)
ссылки на ячейки листа =TYPE(A1)
логика =TYPE(True)
формулы =TYPE(NOW())

Frontber

ЦитироватьВы не можете вставить значение переменной Basic в формулу электронной таблицы.
neft, спасибо. Вы избавили меня от бесплодного рытья в данном направлении.
Буду искать вариант, подходящий именно для переменной.

neft

Ну, не то, чтобы совсем нельзя вставить, но получится громоздко и неизящно.
Например,
param="=TYPE(" & r & ")"   ' если r - число
param="=TYPE(" & Chr(34) & v & Chr(34) & ")"   ' если v - текст
и т.п.

вставляем
oCell.setFormula(param)

Frontber

neft, спасибо! оно РАБОТАЕТ )
по сути, отличный, удобный вариант для дилетантов )

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

Frontber

Проблема РЕШЕНА.

Признательность и благодарность RFJ (заочно), JohnSUN и neft (!).
Спасибо. Ваша помощь была чрезвычайно ценной и востребованной. 

Финальный обзор, что и как



Макрос автоматической защиты ячеек (от JohnSUN) поставлен на событие автосохранения. Указав в настройках книги автосохранение на каждую 1 минуту, получаем ежеминутное сохранение/защиту вводимых данных. Во вложении финальный макрос. Может кому-нибудь пригодится еще.


[вложение удалено Администратором]