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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование строк из одного листа в другой по условию. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование строк из одного листа в другой по условию. (Макросы/Sub)
Копирование строк из одного листа в другой по условию.
PORTANDREW Дата: Четверг, 03.01.2019, 09:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток светлым умам форума. Ребят, может кто поможет, проблема такова: есть книга с листами, листы это даты дня, то есть в книге 365 листов и 1 лист главный, называется "в работе". В листах дней хранятся заявки, в заявках есть условия: выполнена,в работе, не передана, отказана, так вот хотелось бы, что бы строка с условием " в работе" копировалась на лист с аналогичной таблицей под названием " в работе".
пример в файле.
К сообщению приложен файл: 6471912.xlsx (13.4 Kb)


ZAC
 
Ответить
СообщениеДоброго времени суток светлым умам форума. Ребят, может кто поможет, проблема такова: есть книга с листами, листы это даты дня, то есть в книге 365 листов и 1 лист главный, называется "в работе". В листах дней хранятся заявки, в заявках есть условия: выполнена,в работе, не передана, отказана, так вот хотелось бы, что бы строка с условием " в работе" копировалась на лист с аналогичной таблицей под названием " в работе".
пример в файле.

Автор - PORTANDREW
Дата добавления - 03.01.2019 в 09:29
nilem Дата: Четверг, 03.01.2019, 11:33 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
PORTANDREW, привет
Попробуйте
[vba]
Код
Sub ertert()
Dim wsh As Worksheet, shR As Worksheet
Set shR = Sheets("в работе")
With shR
    .Range("A3:D" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).ClearContents
End With

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is shR Then
        With wsh.Range("A2").CurrentRegion
            .Parent.AutoFilterMode = False
            .AutoFilter 8, "в работе"
            .Offset(1).Resize(, 4).Copy
            shR.Cells(Rows.Count, 1).End(xlUp)(2, 1).PasteSpecial xlPasteValues
            .AutoFilter
        End With
    End If
Next wsh
Application.CutCopyMode = False
End Sub
[/vba]
[offtop]
Из файла. Задача: "устранить неисправность чего либо" ))[/offtop]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеPORTANDREW, привет
Попробуйте
[vba]
Код
Sub ertert()
Dim wsh As Worksheet, shR As Worksheet
Set shR = Sheets("в работе")
With shR
    .Range("A3:D" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).ClearContents
End With

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is shR Then
        With wsh.Range("A2").CurrentRegion
            .Parent.AutoFilterMode = False
            .AutoFilter 8, "в работе"
            .Offset(1).Resize(, 4).Copy
            shR.Cells(Rows.Count, 1).End(xlUp)(2, 1).PasteSpecial xlPasteValues
            .AutoFilter
        End With
    End If
Next wsh
Application.CutCopyMode = False
End Sub
[/vba]
[offtop]
Из файла. Задача: "устранить неисправность чего либо" ))[/offtop]

Автор - nilem
Дата добавления - 03.01.2019 в 11:33
PORTANDREW Дата: Четверг, 03.01.2019, 17:13 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
nilem,Большое Вам спасибо за макрос! На примере, в файле он отлично работает, но как только заношу его на свою большую таблицу, почему то выдает ошибку на строке .AutoFilter 8, "в работе" , ошибка Run-tiмe error 1004 application-defined or object-defined error.


ZAC

Сообщение отредактировал PORTANDREW - Четверг, 03.01.2019, 17:14
 
Ответить
Сообщениеnilem,Большое Вам спасибо за макрос! На примере, в файле он отлично работает, но как только заношу его на свою большую таблицу, почему то выдает ошибку на строке .AutoFilter 8, "в работе" , ошибка Run-tiмe error 1004 application-defined or object-defined error.

Автор - PORTANDREW
Дата добавления - 03.01.2019 в 17:13
nilem Дата: Четверг, 03.01.2019, 20:02 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Попробуйте вот этот код. Если возникнет ошибка, то появится сообщение с именем листа. Гляньте этот лист - может там нет 8-го столбца или еще что?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПопробуйте вот этот код. Если возникнет ошибка, то появится сообщение с именем листа. Гляньте этот лист - может там нет 8-го столбца или еще что?

Автор - nilem
Дата добавления - 03.01.2019 в 20:02
PORTANDREW Дата: Четверг, 03.01.2019, 22:13 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
nilem, Да, действительно есть еще один лист с текстовой информацией, не ожидал, что он будет помехой. Спасибо!


ZAC
 
Ответить
Сообщениеnilem, Да, действительно есть еще один лист с текстовой информацией, не ожидал, что он будет помехой. Спасибо!

Автор - PORTANDREW
Дата добавления - 03.01.2019 в 22:13
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование строк из одного листа в другой по условию. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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