Страницы: 1
RSS
Простое заполнение таблицы, Подскажите как сделать простое заполнение таблицы
 
Вопрос такой: есть лист эксель в нем простая таблица раойн/тип. таблица довольно большая из-за количества раойнов и типов. Помогите пожалуйста с формой заполнения этой таблицы. Идея такая: в первой форме выбираем район, во второй тип и в третьей заполняем количество, которое сразу заполняется в таблицу. В скрине примерно показано как должно вс е в итоге работать. Спасибо
 
только макросом, но макросы не работают в картинках
Изменено: Mershik - 11.08.2020 14:49:13
Не бойтесь совершенства. Вам его не достичь.
 
Не могли бы вы тут написать код макроса и все остальные действия?
 
slentse, мог, но еще раз повторю он может не работать на картинке. и у вас появится в будущем куча вопросов, а что делать если не корректно задали тип или район  или не указали количество, а если уже есть с заданными параметрами данные с количеством, что делать тогда..в общем удачи)
тема: Автоматическое заполнение ячейки по заданным параметрам
Код
Sub dddd()
Dim r As Range, c As Range
Set r = Columns(1).Find([C4].Value, LookIn:=xlValues, lookat:=xlWhole)
Set c = Rows(7).Find([I4].Value, LookIn:=xlValues, lookat:=xlWhole)
Cells(r.Row, c.Column) = [N4].Value
End Sub
Изменено: Mershik - 11.08.2020 15:47:16
Не бойтесь совершенства. Вам его не достичь.
 
понятно что ничего не понятно) посмотрю тему "Автоматическое заполнение ячейки по заданным параметрам"
 
понятно что ничего не понятно) посмотрю тему "Автоматическое заполнение ячейки по заданным параметрам"
 
slentse, а что вы хотите понять? макрос я вам предложил или он не работает - если это так то покажите его в файле-примере...
и оставлю это здесь ( в модуль листа, по умолчанию если по заданным параметрам есть число то к нему прибавляем новое)
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("N4")) Is Nothing Then
Dim r As Range, c As Range

    Set r = Columns(1).Find([C4].Value, LookIn:=xlValues, LookAt:=xlWhole)
    Set c = Rows(7).Find([I4].Value, LookIn:=xlValues, LookAt:=xlWhole)
        
    If IsEmpty([C4]) Or r Is Nothing Then
        MsgBox "НЕ ЗАПОЛНЕН ИЛИ УКАЗАН НЕВЕРНЫЙ РАЙОН , ПРОВЕРЬТЕ ВВЕДЕННЫЕ ДАННЫЕ И ПОВТОРИТЕ ПОПЫТКУ!"
        Exit Sub
    ElseIf IsEmpty([I4]) Or c Is Nothing Then
        MsgBox "НЕ ЗАПОЛНЕН ИЛИ УКАЗАН НЕВЕРНЫЙ ТИП, ПРОВЕРЬТЕ ВВЕДЕННЫЕ ДАННЫЕ И ПОВТОРИТЕ ПОПЫТКУ!"
        Exit Sub
    ElseIf IsEmpty([N4]) Then
        MsgBox "НЕ УКАЗАНО КОЛИЧЕСТВО! ПРОВЕРЬТЕ ВВЕДЕННЫЕ ДАННЫЕ И ПОВТОРИТЕ ПОПЫТКУ!"
        Exit Sub
    Else
        Cells(r.Row, c.Column) = Cells(r.Row, c.Column) + [N4].Value
    End If

End If

End Sub

Изменено: Mershik - 11.08.2020 17:26:39
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1
Наверх