Страницы: 1 2 След.
RSS
Обязательное заполнение при условии.
 
Добрый день! Подскажите пожалуйста. Имеется "Умная" таблица, как сделать так, чтобы при заполнении столбца "Сумма с НДС", следующее поле было Обязательным для заполнения любой цифрой, включая "0".
 
Даже с НЕумными - есть событие изменения на листе. Если - переводится как IF. Дерзайте. А мы поможем.
Я сам - дурнее всякого примера! ...
 
К сожалению мои поиски и попытки ни к чему не привели. Поэтому я обратился к вам. Всегда сидел на этом сайте без регистрации. Возникла необходимость, зарегистрировался. =)
 
Убиться. Начало и конец я Вам дам.
Код
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
это в модуль листа.
Изменено: KuklP - 16.04.2015 23:41:03
Я сам - дурнее всякого примера! ...
 
Блин.. Да Вы же убьете пользователя! При заполнении любой строки ЛЕВЕЙ он ВЫНУЖДЕН будет заполнить все до конца. Прям садизм. Вы точно этого хотите?
Я сам - дурнее всякого примера! ...
 
Почему это? При наличии данных в ячейке он должен будет заполнить следующие несколько в обязательном порядке. При отсутствии соответственно запрашивать ничего не будет.
Изменено: Agronom - 16.04.2015 23:41:21
 
Можно конечно добавить кучу условий форматирования ячеек, НО, пользователь будет добавлять и удалять строки, а их будет не мало, в среднем по 500 строк. + имеются заблокированные от редактирования столбцы, скопировать строку в "умной" таблице не получится. =(
Изменено: Agronom - 16.04.2015 23:41:32
 
Представьте себе, пользователь чисто случайно топнул мыхой в ячейке В36. И его заставят заполнять все остальное. Прикольно? А потом удалить всю фигню, которую пользователь сподобится навносить?
Я сам - дурнее всякого примера! ...
 
Application.counta
Больше я Вам в этой теме не помощник. Но подискутирую. Может кто-то лучше поймет ВАС.
Изменено: KuklP - 16.04.2015 05:17:47
Я сам - дурнее всякого примера! ...
 
Совершенно верно, например при вводе данных на B36 он должен будет в обязательном порядке заполнить D36, как это реализовать?
 
Блин, да Вы же первый убьете меня за такую программу!
Я сам - дурнее всякого примера! ...
 
Да я чайник, могу и ляпнуть случайно такое выражение, что может убить кого угодно.
 
Откройте пожалуйста форму. При вводе суммы на P21, поле V21 - должен быть непустым. При пустом P21, поле V21 - не заполняется.
Подскажите пожалуйста как это реализовать?
Изменено: Agronom - 16.04.2015 23:42:04
 
можно попытаться помутить с проверкой данных
Лень двигатель прогресса, доказано!!!
 
Да я там тоже копался, ужы ничего соответствуеющего не нашел. :(
 
А что делать в том случае, если пользователь не заполнил требуемую ячейку? Удалять строку?
Неизлечимых болезней нет, есть неизлечимые люди.
 
Добрый день, следует вывести сообщение об обязательном заполнении, и перейти на незаполненную ячейку.
 
Цитата
Вот что у меня получилось:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim q As Range, y As Range: Set q = [P21:P700]
    If Intersect(Target, q) Is Nothing Then Exit Sub
    Set y = q.SpecialCells(xlCellTypeConstants).Cells(1, 7)
    If Target <> "" Then y.Select
    Exit Sub

При наличии данных в столбеце "P" переходит на 7 столбцов вправо. А как пропустить ячейку, если там уже имеются данные?
Изменено: Agronom - 16.04.2015 12:00:08
 
Agronom, код следует оформлять соответствующим тегом. Исправьте. И в данном случае можно было обойтись без цитирования - кнопка "Цитировать" НЕ ДЛЯ ответа.
 
А не получится так, что я отвечаю самому себе?
Изменено: Agronom - 16.04.2015 23:42:44
 
Во-первых, Ваши сообщения следуют сразу за теми, кому отвечаете.
Во-вторых, никто не запрещает обратиться по имени. Пример взамен Вашего #20 без цитирования: Юрий, а не получится...
ТАК непонятно, кому адресовано?
 
Юрий М, ааа вот оно как. Ок понял.
 
Юрий М, так может вы мне подскажете как реализовать вышеуказанную задачу? :)
 
Товарищи помогите пожалуйста, данная задача остается не решенной. =(
 
??
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [P21:P700]) Is Nothing Then Exit Sub
If Not IsEmpty(Target) Then
  If IsEmpty(Target.Offset(, 6)) Then
  Target.Offset(, 6).Select
  MsgBox "Заполнить ячейку " & Target.Offset(, 6).Address & " !!!"
  End If
End If
End Sub
 
k61, О Спасибо большое! А как сделать, чтобы курсор не двигался с ячейки до тех пор, пока не будет заполнена?
 
Активируйте её.
 
Юрий М, если бы я знал о чем вы. 8-0
 
Тогда объясните (я за темой не следил) КАКАЯ ячейка должна остаться активной?
 
Юрий М, код в сообщении номер №25 от k61, работает отлично, только он переводит курсор вправо на 6 позиций при непустых значениях столбца "P", далее необходимо чтобы данная ячейка в столбце "V" было обязательным для заполнения, т.е. чтобы курсор стоял в ячейке в столбце "V" до тех пор, пока ее чем-нибудь не заполнят.
Изменено: Agronom - 22.05.2015 06:03:36
Страницы: 1 2 След.
Наверх