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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для переноса данных с одного листа на другой - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для переноса данных с одного листа на другой (Формулы/Formulas)
Макрос для переноса данных с одного листа на другой
Тохес Дата: Пятница, 11.03.2016, 18:49 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые форумчане, доброго дня.

Прошу помочь по следующему вопросу:

Во вложении файл Excel, необходимо переносить строки (с удалением), начиная с 4-ой с Листа "КЗ" в Лист "КЗ (На корректировке)" при следующем условии: в столбце "E" соответствующей строки появляется слово "Корректировка".

Во вложении файл Excel, необходимо переносить строки (с удалением), начиная с 4-ой с Листа "КЗ" в Лист "КЗ (Аннулированные)" при следующем условии: в столбце "E" соответствующей строки появляется слово "Аннулирована".

Спасибо огромное!
К сообщению приложен файл: 0375743.xlsx (20.1 Kb)
 
Ответить
СообщениеУважаемые форумчане, доброго дня.

Прошу помочь по следующему вопросу:

Во вложении файл Excel, необходимо переносить строки (с удалением), начиная с 4-ой с Листа "КЗ" в Лист "КЗ (На корректировке)" при следующем условии: в столбце "E" соответствующей строки появляется слово "Корректировка".

Во вложении файл Excel, необходимо переносить строки (с удалением), начиная с 4-ой с Листа "КЗ" в Лист "КЗ (Аннулированные)" при следующем условии: в столбце "E" соответствующей строки появляется слово "Аннулирована".

Спасибо огромное!

Автор - Тохес
Дата добавления - 11.03.2016 в 18:49
Gustav Дата: Пятница, 11.03.2016, 19:34 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2728
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
А просто автофильтром пользоваться по единственной таблице (первой) не хотите?

Плюс к этому явно напрашивается улучшение вашей таблицы в виде добавления в неё двух колонок, в одной из которых так и писать "Корректировка" или "Аннулирована", а во второй ставить дату этого события.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Пятница, 11.03.2016, 19:42
 
Ответить
СообщениеА просто автофильтром пользоваться по единственной таблице (первой) не хотите?

Плюс к этому явно напрашивается улучшение вашей таблицы в виде добавления в неё двух колонок, в одной из которых так и писать "Корректировка" или "Аннулирована", а во второй ставить дату этого события.

Автор - Gustav
Дата добавления - 11.03.2016 в 19:34
МВТ Дата: Пятница, 11.03.2016, 19:52 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Пробуйте (для Аннулирования - по аналогии)
[vba]
Код
Sub tt()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim Rng As Range
    Application.ScreenUpdating = False
    Set ws1 = Sheets("КЗ"): Set ws2 = Sheets("КЗ (На корректировке)")
    With ws1
        Set Rng = .Range("A4:F" & .Cells(Rows.Count, 1).End(xlUp).Row)
        If .AutoFilterMode Then Rng.AutoFilter Field:=5
        Rng.AutoFilter Field:=5, Criteria1:="Корректировка"
        On Error Resume Next
        Rng.SpecialCells(xlCellTypeVisible).Cut Destination:=ws2.Range("A" & ws2.Cells(Rows.Count, 1).End(xlUp).Row + 1)
        If Err Then Err.Clear Else Rng.EntireRow.Delete shift:=xlShiftUp
        Application.CutCopyMode = False
        Rng.AutoFilter Field:=5
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
СообщениеПробуйте (для Аннулирования - по аналогии)
[vba]
Код
Sub tt()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim Rng As Range
    Application.ScreenUpdating = False
    Set ws1 = Sheets("КЗ"): Set ws2 = Sheets("КЗ (На корректировке)")
    With ws1
        Set Rng = .Range("A4:F" & .Cells(Rows.Count, 1).End(xlUp).Row)
        If .AutoFilterMode Then Rng.AutoFilter Field:=5
        Rng.AutoFilter Field:=5, Criteria1:="Корректировка"
        On Error Resume Next
        Rng.SpecialCells(xlCellTypeVisible).Cut Destination:=ws2.Range("A" & ws2.Cells(Rows.Count, 1).End(xlUp).Row + 1)
        If Err Then Err.Clear Else Rng.EntireRow.Delete shift:=xlShiftUp
        Application.CutCopyMode = False
        Rng.AutoFilter Field:=5
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - МВТ
Дата добавления - 11.03.2016 в 19:52
al-Ex Дата: Пятница, 11.03.2016, 21:43 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
Вот, можно и так примерно, пробуйте:
К сообщению приложен файл: 0375743_test.xlsm (28.5 Kb)


Сообщение отредактировал al-Ex - Пятница, 11.03.2016, 22:20
 
Ответить
СообщениеВот, можно и так примерно, пробуйте:

Автор - al-Ex
Дата добавления - 11.03.2016 в 21:43
Тохес Дата: Вторник, 15.03.2016, 21:58 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А просто автофильтром пользоваться по единственной таблице (первой) не хотите?

Плюс к этому явно напрашивается улучшение вашей таблицы в виде добавления в неё двух колонок, в одной из которых так и писать "Корректировка" или "Аннулирована", а во второй ставить дату этого события.


Спасибо за совет. Такой вариант не подходит.
 
Ответить
Сообщение
А просто автофильтром пользоваться по единственной таблице (первой) не хотите?

Плюс к этому явно напрашивается улучшение вашей таблицы в виде добавления в неё двух колонок, в одной из которых так и писать "Корректировка" или "Аннулирована", а во второй ставить дату этого события.


Спасибо за совет. Такой вариант не подходит.

Автор - Тохес
Дата добавления - 15.03.2016 в 21:58
Тохес Дата: Вторник, 15.03.2016, 21:59 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
МВТ,
Спасибо большое!
 
Ответить
СообщениеМВТ,
Спасибо большое!

Автор - Тохес
Дата добавления - 15.03.2016 в 21:59
Тохес Дата: Вторник, 15.03.2016, 22:04 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вот, можно и так примерно, пробуйте:

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


Супер, то что надо!
[moder]Не надо цитировать посты целиком. Это нарушение Правил форума[/moder]


Сообщение отредактировал Pelena - Вторник, 15.03.2016, 22:05
 
Ответить
Сообщение
Вот, можно и так примерно, пробуйте:

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


Супер, то что надо!
[moder]Не надо цитировать посты целиком. Это нарушение Правил форума[/moder]

Автор - Тохес
Дата добавления - 15.03.2016 в 22:04
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для переноса данных с одного листа на другой (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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