Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2009, 00:13   #21
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Не совсем понятно, как можно запретить что-то, что нельзя предугадать? Почему их нельзя угадать? В принципе, если это поможет, можно сделать, если значение R38 получается отрицательным, чтобы оно заменялось на пустое.
motorway вне форума Ответить с цитированием
Старый 31.08.2009, 00:31   #22
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Предугадать можно. Диапазон получается обширный 12 листов в каждом листе идет добавление строк, в эти строки вводятся данные до 2000 ячеек, конечно все ячейки не заполняются а выборочно. Данные переходят на основной лист, там тоже происходит вычисление, и конечная ячейка это R38 вот и все. Можно конечно R38 заменить на пустое, но будет не совпадение данных из за которых введен ноль в R38. То есть то число которое дало отрицательное значение в R38 должно тоже быть удалено или переведено в ноль. Короче вот такой каламбур.
segail вне форума Ответить с цитированием
Старый 31.08.2009, 00:38   #23
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Скорее всего, этот вклад в отриц. значение будет от нескольких ячеек, так что определить конкретную трудно. Если это только не последняя измененная

Последний раз редактировалось motorway; 31.08.2009 в 00:40.
motorway вне форума Ответить с цитированием
Старый 31.08.2009, 00:48   #24
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Нет только от одной. Пользователь вводит значение в какую либо ячейку
Например в конечной ячейки R38 значение 100 пользователь может ввести в другую ячейку от 1 до 100. Но он вводит 105 вот тут как раз и должно произойти удаление 105 или перевод 105 в 0 а R38 также остается с положительным значением 100. Тогда пользователь вводит 99 в ячейки R38 происходит вычисление все нормаль значение 1. Пользователь вводит в другую ячейку 1 и в R38 значение 0

Последний раз редактировалось segail; 31.08.2009 в 00:51.
segail вне форума Ответить с цитированием
Старый 31.08.2009, 06:06   #25
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Цитата:
Сообщение от 550953 Посмотреть сообщение
DV68, я слеп, не вижу на вкладке слова Проверка. (офис 2007)
Данные-Работа с данными-Проверка данных
Изображения
Тип файла: jpg Проверка.jpg (20.5 Кб, 29 просмотров)
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 22.09.2009, 23:24   #26
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Здравствуйте.

Как написать условие, если сумма двух ячеек равна “” или 0?
Код:
If Sheets("Отчет").Round([C451] + [K451]) = "" Then

Последний раз редактировалось segail; 22.09.2009 в 23:37.
segail вне форума Ответить с цитированием
Старый 23.09.2009, 08:59   #27
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

У меня такое предложение. Поместить в модуль книги код
Код:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target > Sheets("Лист1").Range("R38") Then Target = 0
End Sub
Тогда обнуляться будет только ячейка в которую внесли изменения. Условие свое и лист с ячейкой R38 тоже.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 23.09.2009, 19:02   #28
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Да нет в модуль не надо. У меня условие не правильно написано. Мне необходимо если сумма двух ячеек дает “” а далее смотрите код.
Код:
Private Sub CommandButton8_Click()
  If Sheets("Отчет").Round([C451] + [K451]) = "" Then' Условие. Сумма двух ячеек.

    MsgBox "Данные по топлива отсутствуют.", 64, "Информационное сообщение"
    Else
    Sheets("Отчет").Visible = True 'Открыть лист
    Sheets("V_ГСМ").Visible = False 'Скрыть лист
    Unload Me 'Закрыть фориу
    UserForm4.Show 'Открыть форму
    End If
End Sub

Последний раз редактировалось segail; 23.09.2009 в 19:04.
segail вне форума Ответить с цитированием
Старый 23.09.2009, 19:17   #29
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
если сумма двух ячеек дает “”
Видимо, я плоховато разбираюсь в математике.
Ибо до сих пор думал, что суммой чисел может быть только число, но никак не текстовая строка (пусть даже пустая)
EducatedFool вне форума Ответить с цитированием
Старый 23.09.2009, 19:24   #30
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

У меня в ячейках если 0, то нулевые значения не показываются. Тут я и запутался
Если нет нуля я думал “”
Или если нет нуля тогда так?
Код:
If Sheets("Отчет").Round([C451] + [K451]) = 0 Then
Тоже не правельно

Последний раз редактировалось segail; 23.09.2009 в 19:32.
segail вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие для TextBox segail Microsoft Office Excel 7 02.08.2009 23:15
Особое условие для цикла Vikelf Помощь студентам 2 29.05.2009 08:01
Условие для макроса sergiksergik Microsoft Office Excel 8 23.05.2009 20:54
Условие для файлов Nemesisking Общие вопросы Delphi 11 30.01.2009 09:20