С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
1

Редактирование формулы

12.01.2016, 22:15. Показов 2910. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, есть ли возможность быстрого редактирования определенного места в формуле

есть столбец с формулой
Код
=ЕСЛИ(G2>I2;0;)
вот хочется при нажатии на ячейку сразу редактировать условие, таких вводов бывает много и каждый раз нажимать на ячейку, потом мышкой выбирать после ; и потом вписывать не удобно, значение ячеек I меняются, поэтому условие может измениться с любой момент. вариант через дополнительный столбец не очень удобный, и так много всего в таблице.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2016, 22:15
Ответы с готовыми решениями:

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

написание формулы формулы в "условном форматировании"
Здравствуйте! подскажите как применить формулу которая находится в ячейке "H1" для диапазона...

Копирование и редактирование формулы
Здравствуйте. Подскажите, пожалуйста, как отредактировать формулу в прикрепленном файле три...

Как вытащить формулы из листа или более удобный просмотр и редактирование формул
Привет Имеется программа написанная в Excel с макросами, расчетов там на несколько листов, много...

17
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,749
12.01.2016, 22:32 2
Прописать возможные условия нельзя?
0
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
13.01.2016, 00:08 3
Im-DAN, подберите подходящую последовательность сочетаний клавиш. Например, для указанной формулы это F2, Ctrl+влево. Можно автоматизировать действие с помощью макроса - поместите указанную формулу в I1, в модуль листа (правый клик по ярлычку листа - Исходный текст) вставьте этот код, потом выделите ячейку I1.
Visual Basic
1
2
3
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$I$1" Then Application.SendKeys "{F2}^{LEFT}"
End Sub
Хотя если использовать макросы, то задачу, видимо, можно решить более удобным способом, чем постоянная правка формул.
0
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
13.01.2016, 00:31  [ТС] 4
наверное не совсем так высказался, надо что бы значение которое я буду вводить в ячейке с формулой подставлялось =ЕСЛИ(G2>I2;0;СЮДА). но только в этом столбце, получается что-то вроде, если пишу в этом столбце, макрос за меня допишет формулу
0
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,749
13.01.2016, 08:28 5
Посмотрите "умные таблицы", если вводить формулу в ячейке, то она автоматически распространяется на весь столбец, если я правильно понимаю Вас
0
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 14:06  [ТС] 6
попробовал или не разобрался или не то....попробую еще раз описать что надо
есть столбец, в который я буду вводить данные, но после нажатия ентера, хочу что бы было введено другое
пример, в столбце
A1 ввожу 10, а получаю =ЕСЛИ(G1>I1;0;10)
A2 ввожу 75, а получаю =ЕСЛИ(G2>I2;0;75)
и т.д.
A174 ввожу 543, а получаю =ЕСЛИ(G174>I174;0;543)

возможно ли это как-то реализовать встроенными функциями в Excel или может кто подскажет как макрос написать
0
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,749
14.01.2016, 14:31 7
Так чтоли?
Код
=ЕСЛИ(G1>I1;0;A1)
0
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 14:54  [ТС] 8
ну что-то в этом роде, только эта запись и должна быть в стобце А, эта запись будет работать, заполнять буду столбец А, а для использовать для дальнейшей работы столбец с этой записью, но я не хотел делать дополнительных столбцов
0
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,749
14.01.2016, 14:59 9
Im-DAN, а давайте Вы попытаетесь четко сформулировать задачу
0
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 15:13  [ТС] 10
попробую еще раз....
есть таблица, добавлять новые столбы не хотелось бы
в таблице есть столбец, проверяющий условие пример: =ЕСЛИ(G2>I2;0;)
в этом условии, не заполнено значение, которое будет отражаться если условие не верное
на данный момент задача решается или правкой каждой ячейки очень аккуратно, встаю на ячейку, перемещаю курсор на значение Ложь и заполняю его и получаю: =ЕСЛИ(G2>I2;0;МОЕ ЗНАЧЕНИЕ)
когда надо много правок делать, ввожу столбец и тогда правлю свой столбец на =ЕСЛИ(G2>I2;0;T2)
а столбец Т2 заполняю своими значениями.
а хочется что бы вставая на ячейку, я мог сразу набрать значение( которое затрет формулу) но при подтверждение ввода данных, оно заменилось на формулу с подставленным значением, которое я вводил.
т.е. в ячейке А3 я ввожу значение 27, нажимая энтер, а в этой самой ячейке А3 если посмотреть ввелась формула =ЕСЛИ(G2>I2;0;27), что-то вроде автозамены, но только в этом столбце
0
2638 / 1337 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.01.2016, 15:54 11
Вводите числа в столбец А (макросы должны быть разрешены)
Вложения
Тип файла: rar Im_DAN.rar (11.6 Кб, 10 просмотров)
2
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 16:20  [ТС] 12
да, то что нужно, осталось понять, как изменить столбцы, на нужные мне, что бы вставить в свою таблицу

Добавлено через 1 минуту
спасибо
0
15153 / 6426 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
14.01.2016, 17:07 13
Лучший ответ Сообщение было отмечено Im-DAN как решение

Решение

Цитата Сообщение от Im-DAN Посмотреть сообщение
осталось понять, как изменить столбцы, на нужные мне
Написали бы, в каком столбце находится формула - не пришлось бы менять.
Подправил код Pelena, чтобы он мог работать с дробными числами
Visual Basic
1
2
3
4
5
6
7
8
Public Sub WorkSheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Column = 1 And Target.Count = 1 Then '!
        Application.EnableEvents = False
        Target.FormulaR1C1 = "=IF(RC[6]>RC[8],0," & Replace(Target.Value, ",", ".") & ")" '!
        Application.EnableEvents = True
    End If
End Sub
2
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 17:58  [ТС] 14
и очередной вопрос
все работает прекрасно, но только на винде, на маке почему-то скрипт с автозаменой не срабатывает, с этим пробую разобраться, зато срабатывает модуль из архива( его конечно надо нажимать отдельно), но там фиксированное значение 27, можно это как-то исправить?
0
2638 / 1337 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.01.2016, 18:35 15
Лучший ответ Сообщение было отмечено Im-DAN как решение

Решение

Цитата Сообщение от Im-DAN Посмотреть сообщение
срабатывает модуль из архива
Модуль1 в моём файле лишний, его можно вообще удалить.

При переносе на Mac макрос из модуля листа теряется.
Во вложении файл, созданный на Mac'е с макросом от Казанского.
Вложения
Тип файла: xls Im-DAN.xls (38.0 Кб, 5 просмотров)
1
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 19:19  [ТС] 16
хм, работает если заного добавить, до того как вы прислали последний раз файл, пробовал заменить в вашем примере на строки от Казанского, и не получилось, а в новом документе заработало.....
теперь вопрос такой, я так понимаю меня интересует строка
Target.FormulaR1C1 = "=IF(RC[6]>RC[8],0," & Replace(Target.Value, ",", ".") & ")" '!
я понял как менять сравниваемые столбцы, но подскажите как заменить столбец А на другой подстановка Target.FormulaR1C13 вывалила ошибку
и сравнение, я могу заменить на =IF(RC[6]>10000,0,
но можно ли заменить на значение ячейки одной фиксированной? что бы исправлять сравнение не залезая в редактор скрипта
0
2638 / 1337 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
14.01.2016, 19:36 17
За столбец А отвечает строчка Target.Column = 1 (вместо 1 подставьте свой номер столбца).
Фиксированную ячейку можно задать, например, так R1C2 (это ячейка В1 - первая строка второй столбец)
1
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 15
14.01.2016, 21:23  [ТС] 18
СПАСИБО БОЛЬШОЕ, немного модифицировал и настроил под себя
0
14.01.2016, 21:23
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2016, 21:23
Помогаю со студенческими работами здесь

Проверить истинность формулы логики предикатов. Формулы логики предикатов. Область истинности формулы
Помогите решить задания.Объясните как делать хотя бы первые 2.Или хотя бы укажите...

Как подставить значение в формулу, из решенной формулы после предыдущей формулы.
У меня есть формула, после которой есть значения которые нужно туда подставить после слова " где " ...

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

задачи на множество. вид формулы алгебры логики и упрощение формулы
не получается решить никак может знает кто?


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru