Ищу решение задачи в среде excel для моего случая
Что надо:есть ячейка, в ней надо чтоб действовала функция, если отсутствует ввод от пользователя;
Если пользователь делает ввод любого символа в ячейку, функция должна отключаться и отображаются символы которые пользователь ввел;
Если пользователь не сделал ввода, функция в этой ячейке работает;
Если пользователь удалил данные из ячейки, функция снова должна работать;
Как такое сделать в среде excel? Функции? Макросы? Буду признателен за реализацию работающего примера.
Подробнее
Excel,помогите,функции,формулы,картинки для срачей,наша коллекция картинок с имиджборд,песочница
Еще на тему
В 1-ю ввод пользователя
В 2-ю функция
В 3-ю условие "Если 1-я пустая, берем значение из 2-й"
если(A10;"ошибкэ, низзя вводить сюды ничаво";B1+C1)
if ("ячейка" = '')
then
begin
код функции
end
Как то так
Нарисуй картинками хотя бы
2) в ячейке B1 есть функция "=А1"
3) соответственно после нажатия энтера в ячейке B1 будет значение "0" (ноль) (ибо в А1 написано "0)
4) при двойном щелчке левой кнопкой в ячейку B1 (в этот момент функция "=А1" исчезает) и вводом текста "джойреактор", в ячейке остаются начепятанные символы
5) потом я удаляю ВСЕ введенные символы в ячейке В1
6) ВОТ в этот момент, когда удалены все введенные пользователем символы (именно введенные пользователем, а не получаемые из ячейки А1 посредством формулы "=А1") в ячейке В1, надо чтоб формула "=А1" снова начинала действовать без дополнительного вмешательства. Краткая суть вопроса такова: как к ячейке прикрепить формулу, которая ВСЕГДА ДЕЙСТВУЕТ при отсутствии введенных символов пользователя и ПЕРЕСТАЕТ ДЕЙСТВОВАТЬ, когда пользователь добавил в ячейку хоть один знак?
Ожидаемый результат: в ячейке А1 стоит значение "0", а в ячейке В1 ПРИКРЕПЛЕНА ФОРМУЛА "=А1" -> пока в ячейку В1 не было вврда там "транслируется" значение ячейки А1 (тобишь "0" в данном случае) -> я вписал в ячейку В1 "джойреактор" и нажал энтер и в ячейке остались эти символы -> я выделил В1 и нажал дэлэт -> в ячейке В1 снова торчит "0" или любое другое значение из ячейки А1, которое попадает сюда посредством ПРИКРЕПЛЕННОЙ ФУНКЦИИ "=А1" и так всегда, пока я "не откреплю" функцию. Скорее всего тут нужны макрос(-ы?).
Далее в соответствии с пунктами пояснений идут пронумерованные скрины из экселя
а) макрос
б) автоматический запуск макроса при изменении ячейки
текст макроса знаю, текст автозапуска по ячейке самому интересно, счас найду
Рассказываю вариант для православного 2003
Сервис -> Макрос -> Редактор Visual Basic
Слева в дереве ищешь VBAProject(Книга1)
->
Microsoft Excel Objects
->
Лист1 (Лист1)
Справа на белом поле пишешь вот что:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 2).Value = "" Then Cells(1, 2).Value = "=A1"
End Sub
Всё, закрываешь Microsoft Visual Basic, сохраняешь книгу, подсовываешь ничего не подозревающему пользователю
в 2003 это:
Сервис -> Параметры... -> Безопасность (Вкладка справа вверху) -> Безопасность макросов... (кнопка справа внизу)
Средняя = после открытия книги надо выбрать, включать ли макрос
Низкая = макрос будет работать
Выше среднего = скорее всего макрос работать не будет