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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос строк на соседний лист с автофильтром - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк на соседний лист с автофильтром (Макросы/Sub)
Перенос строк на соседний лист с автофильтром
Raven2009 Дата: Четверг, 12.12.2019, 17:24 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.

Подскажите пожалуйста. Есть лист Главная, на нем кнопка.

При нажатии на нее:
- должен запускаться автофильтр по седьмому столбцу в умной таблице на листе Разбивка (убираем все значения с "x")
- далее после автофильтра должны скопироваться все значения с 1го по 5ый столбцы в таблицу на листе Аномалии
- и после этого автофильтр должен вернуться обратно

Код на кнопке уже есть, но что-то не так работает. Автофильтры не учитываются, да и копируется по одной строке... Что нужно поправить, подскажите пожалуйста??? Заранее спасибо!


Я немного ошибся в коде на кнопке (в таблице автофильтр нужен по 6му столбцу, а не по 7му. Но код все равно неправильно работает.....
К сообщению приложен файл: test.rar (27.5 Kb)


Сообщение отредактировал Raven2009 - Четверг, 12.12.2019, 17:30
 
Ответить
СообщениеДобрый день.

Подскажите пожалуйста. Есть лист Главная, на нем кнопка.

При нажатии на нее:
- должен запускаться автофильтр по седьмому столбцу в умной таблице на листе Разбивка (убираем все значения с "x")
- далее после автофильтра должны скопироваться все значения с 1го по 5ый столбцы в таблицу на листе Аномалии
- и после этого автофильтр должен вернуться обратно

Код на кнопке уже есть, но что-то не так работает. Автофильтры не учитываются, да и копируется по одной строке... Что нужно поправить, подскажите пожалуйста??? Заранее спасибо!


Я немного ошибся в коде на кнопке (в таблице автофильтр нужен по 6му столбцу, а не по 7му. Но код все равно неправильно работает.....

Автор - Raven2009
Дата добавления - 12.12.2019 в 17:24
RAN Дата: Четверг, 12.12.2019, 18:50 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Певичный ваиант :)
[vba]
Код
Sub Мяу()
    With Worksheets("Разбивка").ListObjects(1)
        .Range.AutoFilter Field:=.ListColumns("Певичная приемка").Index, Criteria1:="="
        .DataBodyRange.Resize(, 5).Copy Worksheets("$Аномалии").Range("A" & Rows.Count).End(xlUp).Offset(1)
        .ShowAutoFilter = False: .ShowAutoFilter = True
    End With
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеПевичный ваиант :)
[vba]
Код
Sub Мяу()
    With Worksheets("Разбивка").ListObjects(1)
        .Range.AutoFilter Field:=.ListColumns("Певичная приемка").Index, Criteria1:="="
        .DataBodyRange.Resize(, 5).Copy Worksheets("$Аномалии").Range("A" & Rows.Count).End(xlUp).Offset(1)
        .ShowAutoFilter = False: .ShowAutoFilter = True
    End With
End Sub
[/vba]

Автор - RAN
Дата добавления - 12.12.2019 в 18:50
Raven2009 Дата: Четверг, 12.12.2019, 20:11 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, я сохраню ваш вариант)

Пока ждал ответ взял из параллельной темы (там тоже был вопрос мой) код с циклом, и вроде пошло, но последняя строка дважды записывается.

Подскажите пожалуйста, что поправить? код на кнопке...
К сообщению приложен файл: 6914071.rar (27.5 Kb)
 
Ответить
СообщениеСпасибо, я сохраню ваш вариант)

Пока ждал ответ взял из параллельной темы (там тоже был вопрос мой) код с циклом, и вроде пошло, но последняя строка дважды записывается.

Подскажите пожалуйста, что поправить? код на кнопке...

Автор - Raven2009
Дата добавления - 12.12.2019 в 20:11
_Boroda_ Дата: Четверг, 12.12.2019, 20:41 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
и вроде пошло,

Далеко пошло? :D
Строку
[vba]
Код
AnomObj.DataBodyRange.Cells(LastRow, 1).Resize(AnomObj.ListRows.Count, 5) = RazbListObj.DataBodyRange.Value
[/vba]опишите словами. Что она делает?
Ячейка первого столбца последней строки таблицы AnomObj, ресайзим ее вниз на Х (почему-то Х = количеству строк в той же таблице AnomObj) и вставляем туда значения (почему-то все) из таблицы RazbListObj
Ничего не кажется странным? :D


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
и вроде пошло,

Далеко пошло? :D
Строку
[vba]
Код
AnomObj.DataBodyRange.Cells(LastRow, 1).Resize(AnomObj.ListRows.Count, 5) = RazbListObj.DataBodyRange.Value
[/vba]опишите словами. Что она делает?
Ячейка первого столбца последней строки таблицы AnomObj, ресайзим ее вниз на Х (почему-то Х = количеству строк в той же таблице AnomObj) и вставляем туда значения (почему-то все) из таблицы RazbListObj
Ничего не кажется странным? :D

Автор - _Boroda_
Дата добавления - 12.12.2019 в 20:41
Raven2009 Дата: Четверг, 12.12.2019, 20:57 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
ресайзим ее вниз на Х


Если объясните смысл Resize, то....

Ничего не кажется странным?


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

... хотя нет. Буду. Еще много неизведанного....)))


Сообщение отредактировал Raven2009 - Четверг, 12.12.2019, 21:00
 
Ответить
Сообщение
ресайзим ее вниз на Х


Если объясните смысл Resize, то....

Ничего не кажется странным?


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

... хотя нет. Буду. Еще много неизведанного....)))

Автор - Raven2009
Дата добавления - 12.12.2019 в 20:57
Raven2009 Дата: Четверг, 12.12.2019, 21:34 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
И снова вроде работает)) поправил, вероятно... Но я конечно могу ошибаться
К сообщению приложен файл: 1893901.rar (29.2 Kb)


Сообщение отредактировал Raven2009 - Четверг, 12.12.2019, 21:36
 
Ответить
СообщениеИ снова вроде работает)) поправил, вероятно... Но я конечно могу ошибаться

Автор - Raven2009
Дата добавления - 12.12.2019 в 21:34
_Boroda_ Дата: Четверг, 12.12.2019, 22:34 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Смысл Ресайз - от некой ячейки увеличивается массив на сколько-то ячеек вниз и на сколько-то вправо (почитайте справку https://docs.microsoft.com/ru-ru....e-event ). Вам нужно увеличить вправо на 5, это правильно, а вот вниз Вам нужно увеличить на столько, сколько получилось видимых строк в таблице RazbListObj, чтобы потом оттуда именно столько значений и вставить
хотя нет. Буду
Дык к то ж против-то? Пожалуйста, для того форум и сделан


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСмысл Ресайз - от некой ячейки увеличивается массив на сколько-то ячеек вниз и на сколько-то вправо (почитайте справку https://docs.microsoft.com/ru-ru....e-event ). Вам нужно увеличить вправо на 5, это правильно, а вот вниз Вам нужно увеличить на столько, сколько получилось видимых строк в таблице RazbListObj, чтобы потом оттуда именно столько значений и вставить
хотя нет. Буду
Дык к то ж против-то? Пожалуйста, для того форум и сделан

Автор - _Boroda_
Дата добавления - 12.12.2019 в 22:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк на соседний лист с автофильтром (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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