Страницы: 1
RSS
При выборе из списка определенного значения в соседней ячейке возможно ввести только отрицательное число
 
Вопрос
При выборе в ячеке E9 из выпадающего списка значения "ПОКУПКА", в другой ячейке G9 установливается ограничение на ввод только Отрицательных чисел, а при выборе из списка значения "ПРОДАЖА", в ячейке G9 устанавливается ограничение на ввод только Положительных чисел.
 
так
 
=(0,5-(E9="ПРОДАЖА"))*G9>0
Вставьте формулу в проверку данных.
Изменено: МатросНаЗебре - 22.11.2019 14:21:42
 
см.вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Vik_tor, Спасибо большое,
Но не понял логики, не могли бы Вы пояснить как и где меняются числа в M9, M10?

Спасибо, разобрался )))
Изменено: my.honey - 23.11.2019 04:00:23
 
Спасибо Большое Всем за ответы (долго разбирался со всеми решениями, но кажеться понял логику всех формул).

Возникла другая проблемма.
Если после проверки значения в списке и ввода числа в ячеку G9, поменять в выпадающем списке  ПРОДАЖИ на ПОКУПКИ, число в ячейке G9 не меняется, и логика нарушается.

Вопрос
1. Как сделать так: если поменять значения в списке уже после ввода числа в G9, значения в ячейке G9 обнулиться и понадобиться снова вводить?
2. Или после ввода числа в ячейку G9 запретить новый выбор значения из списка?


 
 
нужен макрос
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо.
Да я начинаю понимать, что без макросов в excel работать ущербно.
Если это не сложно, напишите макрос по этой задаче, а я попытаюсь разобраться с кодом и понять наконец, что такое макросы не для форматирования, а для логики подготовки расчетов.
 
Цитата
my.honey написал:
напишите макрос по этой задаче,
А разве в файле Игоря нет макроса?
 
Нет не увидел, скачал файл, открыл, зашел в макросы список с макросами пустой.
Может не там смотрел?
((
 
Есть там макрос: правый клик по ярлычку листа - Исходный текст ))
 
Спасибо..))
 
Вот попробовал написать наконец макрос с сохранением значений при переключении в списке.
Просьба, поссмотрите пожалуйста, где накосячил, усложнил, недописал, недодумал,...?
Буду признателен, за советы, хочется делать правильно и проще.
Файл с макросом прикрепил.

Код
Public Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

   Dim columnOffsetBackup As Integer 'Переменная - Смещение резервных данных вправо (кол-во столбцов)
   columnOffsetBackup = 10 ' -влево +вправо

   Dim columnOffset As Integer 'Переменная - Смещение столбца Операция относительно Стоимость (кол-во столбцов)
   columnOffset = -2 ' -влево +вправо

   Dim columnOperation As Integer 'Переменная - Столбец Операция
   columnOperation = 5

   Dim columnCost As Integer 'Переменная - Столбец стоимости
   columnCost = 7

   Dim sheetName As String 'Переменная - Имя листа на котором сработает условие
   sheetName = "задача"
   

    If (Target.Column = columnCost) And (Sh.Name = sheetName) Then 'Столбец G и лист sheetName
        If Sh.Cells(Target.Row, Target.Column + columnOffset).Value = "ПРОДАЖА" Then
            Sh.Cells(Target.Row, Target.Column + columnOffsetBackup).Value = Target.Value
        End If
        If Sh.Cells(Target.Row, Target.Column + columnOffset).Value = "ПОКУПКА" Then
            Sh.Cells(Target.Row, Target.Column + columnOffsetBackup + 1).Value = Target.Value
        End If
    End If
    
    If (Target.Column = columnOperation) And (Sh.Name = sheetName) Then 'Столбец E и лист sheetName
        If Target.Value = "ПРОДАЖА" Then
            Sh.Cells(Target.Row, Target.Column - columnOffset).Value = Sh.Cells(Target.Row, Target.Column + columnOffsetBackup - columnOffset).Value
        End If
        If Target.Value = "ПОКУПКА" Then
            Sh.Cells(Target.Row, Target.Column - columnOffset).Value = Sh.Cells(Target.Row, Target.Column + columnOffsetBackup - columnOffset + 1).Value
        End If
    End If
    
End Sub
 
понятно, что задача в том же файле что и предыдущая,  а еще есть какая-то связь между ними?

и что за задачу решаете? можно узнать? видимо, смысл новой задачи нужно описать в следующей теме.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
задача в том же файле что и предыдущая,  а еще есть какая-то связь между ними
Файл, тотже, но добавил свой макрос, чтобы при изменении значения из списка, числа в других ячейках не просто обнулялись, а запоминались и при повторном выборе из списка значения, пордставлялись обратно...

это продолжение той же задачи..

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

с макросами решил наконец разобраться и упростить себе жизнь в подготовке отчетов..))
 
чтобы кто-то решил задачу, он должен прочитать условия задачи
нет задачи - нет решения, это аксиома
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
чтобы кто-то решил задачу, он должен прочитать условия задачинет задачи - нет решения, это аксиома
Именно так в файле в начале было условие задачи..)
Подкоректирова файл, чтобы было понятнее, что это именно задача, условие и решение.
Просьба посмотреть написанный макрос и указать на ошибки, неточности, может как его можно упростить и унифицировать?
Страницы: 1
Наверх