День добрый господа и дамы! Вопрос скорее от неясности картины.... Возможно ли проверять ячейку на остаток объёма, при постепенном отнимании от неё значений? Чтобы не получилось что от ячейки было отнято больше чем в ней есть! Весь трабл что ячеек для проверки оч много и от них в хаотичном порядке отнимаю другие ячейки и с формулами. Вобщем интересна сама возможность такого манёвра для дальнейшего мозгования! Заранее спасибо.
День добрый господа и дамы! Вопрос скорее от неясности картины.... Возможно ли проверять ячейку на остаток объёма, при постепенном отнимании от неё значений? Чтобы не получилось что от ячейки было отнято больше чем в ней есть! Весь трабл что ячеек для проверки оч много и от них в хаотичном порядке отнимаю другие ячейки и с формулами. Вобщем интересна сама возможность такого манёвра для дальнейшего мозгования! Заранее спасибо.Виктор
А если отнять следует 5 раз, 5 различных ячеек и с разрывом по времени неделя (в том смысле что забуду сколько там было уже отнято и сколько там ещё есть). Можно конечно проверять каждый раз какие ячейки завязаны на искомую, но их 1000 или 100 (много) Файла не существует - это скорее задумка. Он формируется уже формулами. Весь вопрос - оптимизировать процесс в Excel или в автокад вручную.
А если отнять следует 5 раз, 5 различных ячеек и с разрывом по времени неделя (в том смысле что забуду сколько там было уже отнято и сколько там ещё есть). Можно конечно проверять каждый раз какие ячейки завязаны на искомую, но их 1000 или 100 (много) Файла не существует - это скорее задумка. Он формируется уже формулами. Весь вопрос - оптимизировать процесс в Excel или в автокад вручную.Виктор
Можно выделять отрицательные значения условным форматированием или форматом ячеек
В том-то и проблема, как получить оотрицательное? Искомая ячейка неизменна и от неё отнимаю формулами в других ячейках. Можно попробовать создать ячейки-дублёры, которые будут проверять искомые, но в них придётся прописывать каждый раз ручное отнимание ячеек. Хотелось бы узнать о возможности отнимать от ячейки ссылаемые на неё. Есть конечно мысли вбивать числовое значение ячейки, ане ссылку на неё, при этом в искомой прописывать ссылку на отнимаемую ячейку и до тех пор пока не будет отрицательного значения...
Можно выделять отрицательные значения условным форматированием или форматом ячеек
В том-то и проблема, как получить оотрицательное? Искомая ячейка неизменна и от неё отнимаю формулами в других ячейках. Можно попробовать создать ячейки-дублёры, которые будут проверять искомые, но в них придётся прописывать каждый раз ручное отнимание ячеек. Хотелось бы узнать о возможности отнимать от ячейки ссылаемые на неё. Есть конечно мысли вбивать числовое значение ячейки, ане ссылку на неё, при этом в искомой прописывать ссылку на отнимаемую ячейку и до тех пор пока не будет отрицательного значения...Chapaev
Вообще лучше бы Вы примерчик приложили. Я так понял суть в том, что есть ячейка(А1). Допустим в ней цифра 10. Из неё в разных формулах вычитаем значения, используя перекрестные ссылки: В1 =A1-4 C1 =B1-3 D1 =C1-5 - вот это и надо пресечь, так? Если бы вычли 3 - было бы все хорошо. Но необходимо недопустить уход числа в А1 в минус.
Вообще лучше бы Вы примерчик приложили. Я так понял суть в том, что есть ячейка(А1). Допустим в ней цифра 10. Из неё в разных формулах вычитаем значения, используя перекрестные ссылки: В1 =A1-4 C1 =B1-3 D1 =C1-5 - вот это и надо пресечь, так? Если бы вычли 3 - было бы все хорошо. Но необходимо недопустить уход числа в А1 в минус.The_Prist
Errare humanum est, stultum est in errore perseverare
The_Prist, Всё верно Попробую с частью файла - упрощённо... Отнимать следует от строк 4 и 5, строку 2. От С4-С2, С4-D2, но когда подходим на С4-Е2, то С4 переходит через 0 и следует перейти на отнимание от С5. Далее от D4 и D5
Может быть макрос, срабатывающий на событие Worksheet_Change, подойдет?
Я так понял это через VBA? С этим, кстати тоже проблемка... Где говорите её вбивать. Понимаю что навыки Офис надо подтянуть, но как есть пока. Может ссылочку кто даст, я конечно погуглю сам...
The_Prist, Всё верно Попробую с частью файла - упрощённо... Отнимать следует от строк 4 и 5, строку 2. От С4-С2, С4-D2, но когда подходим на С4-Е2, то С4 переходит через 0 и следует перейти на отнимание от С5. Далее от D4 и D5
Может быть макрос, срабатывающий на событие Worksheet_Change, подойдет?
Я так понял это через VBA? С этим, кстати тоже проблемка... Где говорите её вбивать. Понимаю что навыки Офис надо подтянуть, но как есть пока. Может ссылочку кто даст, я конечно погуглю сам...Chapaev
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub Application.EnableEvents = False If Not Intersect(Range("C2:L2"), Target) Is Nothing Then If Target.Offset(0, -1) = Empty Then Target.Value = "" For i = 3 To 12 If Cells(4, i) <> 0 Then Exit For Next i If Cells(4, i) - Target >= 0 Then Cells(4, i) = Cells(4, i) - Target Else Cells(5, i) = Cells(5, i) + Cells(4, i) - Target: Cells(4, i) = 0 End If End If Application.EnableEvents = True End Sub
[/vba] Вручная вставка значений во вторую строку работает, а "транспортирование" работать не будет.
Такой код получился [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub Application.EnableEvents = False If Not Intersect(Range("C2:L2"), Target) Is Nothing Then If Target.Offset(0, -1) = Empty Then Target.Value = "" For i = 3 To 12 If Cells(4, i) <> 0 Then Exit For Next i If Cells(4, i) - Target >= 0 Then Cells(4, i) = Cells(4, i) - Target Else Cells(5, i) = Cells(5, i) + Cells(4, i) - Target: Cells(4, i) = 0 End If End If Application.EnableEvents = True End Sub
[/vba] Вручная вставка значений во вторую строку работает, а "транспортирование" работать не будет.AlexM
Спасибо, теперь смысл ясен - такое возможно! Может позже вернусь к этой теме, в коде есть недочёты, но направление мысли - то! Разберусь только с VBA,а там видно будет. Также спасибо за сцылочку!
Спасибо, теперь смысл ясен - такое возможно! Может позже вернусь к этой теме, в коде есть недочёты, но направление мысли - то! Разберусь только с VBA,а там видно будет. Также спасибо за сцылочку!Chapaev
Конечно, все предусмотреть сложно, однако код выполняет поставленную вами задачу.
Да, да! Я не так сформулировал, код верный сам по себе. Недочёт применительно к моей задаче. Когда вносим значения в строку 2 и к примеру ошиблись или по иной причине перебиваем ячейку, то код отнимает и старое значение и новое, ну и в минус уходит - правда не всегда... Предусмотреть конечно на словах невозможно всех аспектов и потому, говорить что в коде недочёт было с моей стороны неправильным!
Конечно, все предусмотреть сложно, однако код выполняет поставленную вами задачу.
Да, да! Я не так сформулировал, код верный сам по себе. Недочёт применительно к моей задаче. Когда вносим значения в строку 2 и к примеру ошиблись или по иной причине перебиваем ячейку, то код отнимает и старое значение и новое, ну и в минус уходит - правда не всегда... Предусмотреть конечно на словах невозможно всех аспектов и потому, говорить что в коде недочёт было с моей стороны неправильным!Chapaev