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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк с листа на другой, при совпадении условия (Макросы/Sub)
Перенос строк с листа на другой, при совпадении условия
EvA80 Дата: Вторник, 03.09.2019, 20:32 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Коллеги добрый день, помогите пожалуйста актуализировать макрос.

В файле, при совпадении в столбце F - Заказ или Отказ вся строка переносится (с удалением на первичном листе) в соответствующие листы "Заказ" и "Отказ" (как бы создавая из заново каждый раз)
Проблема в том, что с каждым обновлением (нажатие кнопки) макрос удаляет прошлые данные и заменяет на новые на листах Заказ, Отказ
А так как это действующий файл и постоянно будет пополняться, то мне важно сохранять все данные и продолжать вести учет.

Подскажите плжт, как можно или нужно изменить макрос.
[vba]
Код

Sub Main()
Dim ws As Worksheet, z As Range, x
Application.ScreenUpdating = False: Application.DisplayAlerts = False
Set ws = ActiveSheet: ws.AutoFilterMode = False
For Each x In Array("Заказ", "Отказ")
On Error Resume Next: Sheets(x).Delete: On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count): ActiveSheet.Name = x
ws.[A:F].Copy: [A:F].PasteSpecial Paste:=xlPasteColumnWidths
ws.Rows("1:2").Copy Rows("1:2")
ws.[f:f].AutoFilter Field:=1, Criteria1:=x
Set z = ws.AutoFilter.Range.Offset(2).SpecialCells(12).EntireRow
z.Copy [A3]: [A1].Select: z.Delete: ws.ShowAllData
Next
ws.Activate: ws.AutoFilterMode = False
End Sub
[/vba]
К сообщению приложен файл: 0906437.xlsm(30.3 Kb)


Сообщение отредактировал EvA80 - Вторник, 03.09.2019, 20:47
 
Ответить
СообщениеКоллеги добрый день, помогите пожалуйста актуализировать макрос.

В файле, при совпадении в столбце F - Заказ или Отказ вся строка переносится (с удалением на первичном листе) в соответствующие листы "Заказ" и "Отказ" (как бы создавая из заново каждый раз)
Проблема в том, что с каждым обновлением (нажатие кнопки) макрос удаляет прошлые данные и заменяет на новые на листах Заказ, Отказ
А так как это действующий файл и постоянно будет пополняться, то мне важно сохранять все данные и продолжать вести учет.

Подскажите плжт, как можно или нужно изменить макрос.
[vba]
Код

Sub Main()
Dim ws As Worksheet, z As Range, x
Application.ScreenUpdating = False: Application.DisplayAlerts = False
Set ws = ActiveSheet: ws.AutoFilterMode = False
For Each x In Array("Заказ", "Отказ")
On Error Resume Next: Sheets(x).Delete: On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count): ActiveSheet.Name = x
ws.[A:F].Copy: [A:F].PasteSpecial Paste:=xlPasteColumnWidths
ws.Rows("1:2").Copy Rows("1:2")
ws.[f:f].AutoFilter Field:=1, Criteria1:=x
Set z = ws.AutoFilter.Range.Offset(2).SpecialCells(12).EntireRow
z.Copy [A3]: [A1].Select: z.Delete: ws.ShowAllData
Next
ws.Activate: ws.AutoFilterMode = False
End Sub
[/vba]

Автор - EvA80
Дата добавления - 03.09.2019 в 20:32
Pelena Дата: Вторник, 03.09.2019, 20:41 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 14474
Репутация: 3172 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
EvA80, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеEvA80, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 03.09.2019 в 20:41
EvA80 Дата: Вторник, 03.09.2019, 20:44 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, сделала, но кажется как-то не так. Я неопытный пользователь форума(
 
Ответить
СообщениеPelena, сделала, но кажется как-то не так. Я неопытный пользователь форума(

Автор - EvA80
Дата добавления - 03.09.2019 в 20:44
Pelena Дата: Вторник, 03.09.2019, 20:46 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 14474
Репутация: 3172 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Будем набираться опыта)
В режиме правки выделите код и нажмите кнопку # на панели инструментов


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеБудем набираться опыта)
В режиме правки выделите код и нажмите кнопку # на панели инструментов

Автор - Pelena
Дата добавления - 03.09.2019 в 20:46
EvA80 Дата: Вторник, 03.09.2019, 20:48 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, я не безнадежна. Спс)
 
Ответить
СообщениеPelena, я не безнадежна. Спс)

Автор - EvA80
Дата добавления - 03.09.2019 в 20:48
Pelena Дата: Вторник, 03.09.2019, 22:15 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 14474
Репутация: 3172 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Посмотрите вариант. Просто убрала лишние строки по удалению/добавлению листов и немного поправила копирование
К сообщению приложен файл: 9074630.xlsm(27.3 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПосмотрите вариант. Просто убрала лишние строки по удалению/добавлению листов и немного поправила копирование

Автор - Pelena
Дата добавления - 03.09.2019 в 22:15
EvA80 Дата: Среда, 04.09.2019, 12:36 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, не работает. Один раз да, дополняет строки - круто и как надо. Но если еще раз вписать и обновить - то перезаписывает поверх внесенных в предыдущий раз ( но те, которые были до этого остаются).


Сообщение отредактировал EvA80 - Среда, 04.09.2019, 12:59
 
Ответить
СообщениеPelena, не работает. Один раз да, дополняет строки - круто и как надо. Но если еще раз вписать и обновить - то перезаписывает поверх внесенных в предыдущий раз ( но те, которые были до этого остаются).

Автор - EvA80
Дата добавления - 04.09.2019 в 12:36
Pelena Дата: Среда, 04.09.2019, 14:07 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 14474
Репутация: 3172 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Так проверьте
К сообщению приложен файл: 6139709.xlsm(27.4 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТак проверьте

Автор - Pelena
Дата добавления - 04.09.2019 в 14:07
EvA80 Дата: Среда, 04.09.2019, 14:26 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Да, теперь работает, как задумано. Спасибо Вам большое за помощь.
 
Ответить
СообщениеДа, теперь работает, как задумано. Спасибо Вам большое за помощь.

Автор - EvA80
Дата добавления - 04.09.2019 в 14:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк с листа на другой, при совпадении условия (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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