Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос данных с листа на лист, при значении из выпадающего - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос данных с листа на лист, при значении из выпадающего (Формулы/Formulas)
Перенос данных с листа на лист, при значении из выпадающего
gfkq Дата: Воскресенье, 06.02.2022, 14:29 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 20% ±

Доброго времени суток!!! Продолжаю свое маленькое дело по огромному облегчению жизни)
Огромное вам спасибо за помощь!!!
Документ почти готов осталось реализовать две идеи, Огромное просьба окажите содействие)

Документ в примере выложен полностью что на данный момент у меня получилось.
Суть идеи:
1. Лист "МПС" данные с этого листа, перенести на лист "выданный мпс"согласно таблицы (примерное содержание таблицы 200 строк), при условии в графе "операции", условия "выдан" из выпадающего списка. При условии "выдан" строка должна обнулится (Макрос присутствует, Огромное спасибо Nic70y, за него!!! )
2. После действия 1, на листе "данные" в таблице "№мпс" данные с номером должны удалится.

В примере все выделил желтым.
Огромная просьба ребят подсобите плиз!!!
и останется 1 идея для реализации и вы не представляете как облегчится моя трудовая деятельность.
[offtop]забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых

К сообщению приложен файл: __.xlsm (86.2 Kb)


Сообщение отредактировал gfkq - Воскресенье, 06.02.2022, 14:51
 
Ответить
СообщениеДоброго времени суток!!! Продолжаю свое маленькое дело по огромному облегчению жизни)
Огромное вам спасибо за помощь!!!
Документ почти готов осталось реализовать две идеи, Огромное просьба окажите содействие)

Документ в примере выложен полностью что на данный момент у меня получилось.
Суть идеи:
1. Лист "МПС" данные с этого листа, перенести на лист "выданный мпс"согласно таблицы (примерное содержание таблицы 200 строк), при условии в графе "операции", условия "выдан" из выпадающего списка. При условии "выдан" строка должна обнулится (Макрос присутствует, Огромное спасибо Nic70y, за него!!! )
2. После действия 1, на листе "данные" в таблице "№мпс" данные с номером должны удалится.

В примере все выделил желтым.
Огромная просьба ребят подсобите плиз!!!
и останется 1 идея для реализации и вы не представляете как облегчится моя трудовая деятельность.
[offtop]забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых


Автор - gfkq
Дата добавления - 06.02.2022 в 14:29
Nic70y Дата: Понедельник, 07.02.2022, 08:10 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8754
Репутация: 2270 ±
Замечаний: 0% ±

Excel 2010
забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых
а вот здесь нужно по подробнее.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 5 Or a = 10 Or a = 15) And b > 6 And c = 3 Then
        u = Target.Value
        If u = "выдан" Then
            f = Sheets("выданный мпс").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("выданный мпс").Range("a" & f & ":b" & f) = Range(Cells(b, a - 4), Cells(b, a - 3)).Value
            Sheets("выданный мпс").Range("c" & f).NumberFormat = "dd/mm/yyyy h:mm;@"
            Sheets("выданный мпс").Range("c" & f) = Now
            Range(Cells(b, a), Cells(b, a - 4)).ClearContents
        End If
    End If
End Sub
[/vba]
К сообщению приложен файл: 14.xlsm (89.6 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых
а вот здесь нужно по подробнее.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 5 Or a = 10 Or a = 15) And b > 6 And c = 3 Then
        u = Target.Value
        If u = "выдан" Then
            f = Sheets("выданный мпс").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("выданный мпс").Range("a" & f & ":b" & f) = Range(Cells(b, a - 4), Cells(b, a - 3)).Value
            Sheets("выданный мпс").Range("c" & f).NumberFormat = "dd/mm/yyyy h:mm;@"
            Sheets("выданный мпс").Range("c" & f) = Now
            Range(Cells(b, a), Cells(b, a - 4)).ClearContents
        End If
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 07.02.2022 в 08:10
gfkq Дата: Понедельник, 07.02.2022, 11:16 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, блин классно! Огромное спасибо!!! Всех благ вам в жизни!!!

забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых
а вот здесь нужно по подробнее.

В принципе это не очень важно, что бы данные не скапливались, после к примеру 200 строк, после 200 строки старые данные удалялись. Руками удалю.

2. После действия 1, на листе "данные" в таблице "№мпс" данные с номером должны удалится.
а можно как то реализовать удаление с листа "данные", из таблицы "номер мпс" после добавления информации в лист "выданный мпс", а то выпадающий список получается большим, данные которые попали на лист выданный мпс с ними работа прекращена и информация о них не нужна в листе "данные" в таблице "номер мпс"


Сообщение отредактировал gfkq - Понедельник, 07.02.2022, 11:19
 
Ответить
СообщениеNic70y, блин классно! Огромное спасибо!!! Всех благ вам в жизни!!!

забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых
а вот здесь нужно по подробнее.

В принципе это не очень важно, что бы данные не скапливались, после к примеру 200 строк, после 200 строки старые данные удалялись. Руками удалю.

2. После действия 1, на листе "данные" в таблице "№мпс" данные с номером должны удалится.
а можно как то реализовать удаление с листа "данные", из таблицы "номер мпс" после добавления информации в лист "выданный мпс", а то выпадающий список получается большим, данные которые попали на лист выданный мпс с ними работа прекращена и информация о них не нужна в листе "данные" в таблице "номер мпс"

Автор - gfkq
Дата добавления - 07.02.2022 в 11:16
Nic70y Дата: Понедельник, 07.02.2022, 11:58 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8754
Репутация: 2270 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 5 Or a = 10 Or a = 15) And b > 6 And c = 3 Then
        u = Target.Value
        If u = "выдан" Then
            f = Sheets("выданный мпс").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("выданный мпс").Range("a" & f & ":b" & f) = Range(Cells(b, a - 4), Cells(b, a - 3)).Value
            Sheets("выданный мпс").Range("c" & f).NumberFormat = "dd/mm/yyyy h:mm;@"
            Sheets("выданный мпс").Range("c" & f) = Now
            If f > 201 Then Sheets("выданный мпс").Range("a2:c2").Delete
            g = Sheets("данные").Range("Таблица17").Find(What:=Cells(b, a - 4).Value).Address
            Sheets("данные").Range(g).Delete
            Range(Cells(b, a), Cells(b, a - 4)).ClearContents
        End If
    End If
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 5 Or a = 10 Or a = 15) And b > 6 And c = 3 Then
        u = Target.Value
        If u = "выдан" Then
            f = Sheets("выданный мпс").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("выданный мпс").Range("a" & f & ":b" & f) = Range(Cells(b, a - 4), Cells(b, a - 3)).Value
            Sheets("выданный мпс").Range("c" & f).NumberFormat = "dd/mm/yyyy h:mm;@"
            Sheets("выданный мпс").Range("c" & f) = Now
            If f > 201 Then Sheets("выданный мпс").Range("a2:c2").Delete
            g = Sheets("данные").Range("Таблица17").Find(What:=Cells(b, a - 4).Value).Address
            Sheets("данные").Range(g).Delete
            Range(Cells(b, a), Cells(b, a - 4)).ClearContents
        End If
    End If
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 07.02.2022 в 11:58
gfkq Дата: Понедельник, 07.02.2022, 13:43 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, ааааа класс! Огромное при огромное вам спасибо!!! Большущее прибольшущее!!!

За помощь Вам огромное спасибо!
Проблему трудную решить вы помогли,
Как хорошо, что вдруг случилось чудо,
И нас дороги счастливо свели!

Благодарю за помощь, за участие,
За то, что время для меня нашли,
Желаю вам любви, здоровья, счастья,
Чтоб ангелы везде вас берегли!
 
Ответить
СообщениеNic70y, ааааа класс! Огромное при огромное вам спасибо!!! Большущее прибольшущее!!!

За помощь Вам огромное спасибо!
Проблему трудную решить вы помогли,
Как хорошо, что вдруг случилось чудо,
И нас дороги счастливо свели!

Благодарю за помощь, за участие,
За то, что время для меня нашли,
Желаю вам любви, здоровья, счастья,
Чтоб ангелы везде вас берегли!

Автор - gfkq
Дата добавления - 07.02.2022 в 13:43
gfkq Дата: Среда, 09.02.2022, 14:04 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 20% ±

Многоуважаемый Nic70y, прошу меня извинить, что все не упокоюсь.
забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых

а вот здесь нужно по подробнее.

В принципе это не очень важно, что бы данные не скапливались, после к примеру 200 строк, после 200 строки старые данные удалялись. Руками удалю.

если у вас есть возможность, можно ли подправить добавление на лист "выданный мпс" (получается что добавление информации происходит в строчку ниже предыдущей и по достижении 200ой строки обновляется одна двухсотая строка.)

можно ли сделать так, что- бы новая информация на листе "выданный мпс" добавлялась в самый вверх листа, а старая информация как бы сползала вниз, и тогда когда она достигнет 200ой строчки удалится. При много вам благодарен!!!


Сообщение отредактировал gfkq - Среда, 09.02.2022, 14:17
 
Ответить
СообщениеМногоуважаемый Nic70y, прошу меня извинить, что все не упокоюсь.
забыл сказать что на листе "выданный мпс" данные должны сами удаляется по мере добавления новых

а вот здесь нужно по подробнее.

В принципе это не очень важно, что бы данные не скапливались, после к примеру 200 строк, после 200 строки старые данные удалялись. Руками удалю.

если у вас есть возможность, можно ли подправить добавление на лист "выданный мпс" (получается что добавление информации происходит в строчку ниже предыдущей и по достижении 200ой строки обновляется одна двухсотая строка.)

можно ли сделать так, что- бы новая информация на листе "выданный мпс" добавлялась в самый вверх листа, а старая информация как бы сползала вниз, и тогда когда она достигнет 200ой строчки удалится. При много вам благодарен!!!

Автор - gfkq
Дата добавления - 09.02.2022 в 14:04
Nic70y Дата: Среда, 09.02.2022, 14:37 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 8754
Репутация: 2270 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 5 Or a = 10 Or a = 15) And b > 6 And c = 3 Then
        u = Target.Value
        If u = "выдан" Then
            Sheets("выданный мпс").Range("a2:c2").Insert Shift:=xlDown
            Sheets("выданный мпс").Range("a2:c2") = Range(Cells(b, a - 4), Cells(b, a - 3)).Value
            Sheets("выданный мпс").Range("c2").NumberFormat = "dd/mm/yyyy h:mm;@"
            Sheets("выданный мпс").Range("c2") = Now
            Sheets("выданный мпс").Range("a202:c202").Clear
            g = Sheets("данные").Range("Таблица17").Find(What:=Cells(b, a - 4).Value).Address
            Sheets("данные").Range(g).Delete
            Range(Cells(b, a), Cells(b, a - 4)).ClearContents
        End If
    End If
End Sub
[/vba]
в этом месте Sheets("выданный мпс").Range("a202:c202").Clear
будет всегда стираться строка 202 (т.е. в данном случае самая старая)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    a = Target.Column
    b = Target.Row
    c = Target.Validation.Type
    If (a = 5 Or a = 10 Or a = 15) And b > 6 And c = 3 Then
        u = Target.Value
        If u = "выдан" Then
            Sheets("выданный мпс").Range("a2:c2").Insert Shift:=xlDown
            Sheets("выданный мпс").Range("a2:c2") = Range(Cells(b, a - 4), Cells(b, a - 3)).Value
            Sheets("выданный мпс").Range("c2").NumberFormat = "dd/mm/yyyy h:mm;@"
            Sheets("выданный мпс").Range("c2") = Now
            Sheets("выданный мпс").Range("a202:c202").Clear
            g = Sheets("данные").Range("Таблица17").Find(What:=Cells(b, a - 4).Value).Address
            Sheets("данные").Range(g).Delete
            Range(Cells(b, a), Cells(b, a - 4)).ClearContents
        End If
    End If
End Sub
[/vba]
в этом месте Sheets("выданный мпс").Range("a202:c202").Clear
будет всегда стираться строка 202 (т.е. в данном случае самая старая)

Автор - Nic70y
Дата добавления - 09.02.2022 в 14:37
gfkq Дата: Среда, 09.02.2022, 15:04 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, ох, да это просто волшебно!!! 1000 раз огромное спасибо!!!


Сообщение отредактировал gfkq - Среда, 09.02.2022, 15:47
 
Ответить
СообщениеNic70y, ох, да это просто волшебно!!! 1000 раз огромное спасибо!!!

Автор - gfkq
Дата добавления - 09.02.2022 в 15:04
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос данных с листа на лист, при значении из выпадающего (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!