Страницы: 1
RSS
Заменить все отрицательные числа на странице на ноль
 
Доброго времени суток! Именно того как хочу сделать в гугле не нашел).

Есть лист на который скриптом выводятся разные значения, в том числе и отрицательные, в разное время. (Если использовать формулу МАКС будет не красиво))))
Нашел такой код:

Код
Private Sub Workbook_Open()
    Worksheets("ИмяЛиста").Protect Password:="1994", UserInterfaceOnly:=True
   End Sub

Этот код внесен в такое место: WBAproject(имя документа)->Microsoft Excel Objects->ЭтаКнига

Можно как то сделать так:

Код
Private Sub Workbook_Open()     
Worksheets("ИмяЛиста").Заменить все отрицательные занчения во всех ячейках листа на ноль.    
End Sub
Получается, что этот код отрабатывает только при открытии документа, а как сделать что бы отрицательное значение заменялось сразу, как появится на странице?
Или подскажите как это сделать иначе)
Заранее благодарю)
 
Привязывайтесь к событию изменения листа Worksheet_Change.
 
Вот так?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value < 0 Then Target.Value = 0
End Sub
 
Цитата
Ник Никитич написал:
Вот так?
Срабатывает, если сам ввожу отрицательное значение в ячейку, а если выполнить скрипт на странице, то выдает ошибку((
Может посмотрите в чем дело).
Нажимаю кнопку внесение, и содержимое столба К должно быть скопировано на страницу "база", и если в столбе К есть отр значения, то они копируются без изменений, а хотелось бы что бы они менялись на ноль)
Изменено: rss-9999 - 14.09.2017 07:24:45
 
найти и заменить
Код
    Cells.Replace What:="-*", Replacement:="0"
 
Работает! Спасибо!
Страницы: 1
Наверх