Копирование строк на другой лист если excel

Эх. вижу что макросом проще написано, но я в них совсем ноль. пытаюсь изучить что делает формула и как ее потом можно усовершенствовать и применить (файлик будет расти, дополняться поля и другие формулы). Спасибо Boroda за подробное объяснение формулы, хотелось бы такую же информацию от Wasilic по поводу его макроса =)

ПС. осилю формулы, перейду к макросам.

Эх. вижу что макросом проще написано, но я в них совсем ноль. пытаюсь изучить что делает формула и как ее потом можно усовершенствовать и применить (файлик будет расти, дополняться поля и другие формулы). Спасибо Boroda за подробное объяснение формулы, хотелось бы такую же информацию от Wasilic по поводу его макроса =)

ПС. осилю формулы, перейду к макросам. AR84

Сообщение Эх. вижу что макросом проще написано, но я в них совсем ноль. пытаюсь изучить что делает формула и как ее потом можно усовершенствовать и применить (файлик будет расти, дополняться поля и другие формулы). Спасибо Boroda за подробное объяснение формулы, хотелось бы такую же информацию от Wasilic по поводу его макроса =)

ПС. осилю формулы, перейду к макросам. Автор — AR84
Дата добавления — 12.02.2016 в 11:14

Источник

Как скопировать строки в Excel? Выборочное копирование строк по условию

Порой возникает необходимость разделить табличные данные на части и разнести их на разные листы. Для того, чтобы разделить таблицу на составные части можно использовать стандартные средства Excel, такие как сортировка и фильтрация, а можно упростить и ускорить этот процесс, используя выборочное копирование строк по условию с последующей вставкой на новый лист либо в новую книгу.

Работе со строками был посвящен целый ряд публикаций о том как выборочно удалять и/или скрывать строки по условию, как добавлять новые пустые строки в таблицу , как выделять строки по условию или производить их выделение с заданным шагом. Логичным продолжением этого цикла статей будет тема копирования строк, подходящих под заданные условия на новый лист или в новую рабочую книгу.

Как скопировать/вставить строки в Excel по условию?

Обойдем стороной ручной труд с использованием копирования и вставки предварительно выделенных строк, а также использование сортировки и различных фильтров для выбора нужных строк и рассмотрим способ, позволяющий быстро разнести строки с определенными значениями по разным листам или книгам. Делается это при помощи надстройки для Excel.

Использование надстройки позволяет:

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. Задавать значение для поиска;

3. Задавать несколько значений для поиска через символ-разделитель «;» точку с запятой;

4. Учитывать либо не учитывать регистр при поиске заданных значений;

5. Выбирать диапазон ячеек для поиска заданных значений;

6. При необходимости устанавливать ограничения для выбранного диапазона;

7. Выбирать одно из восьми условий для выбранных ячеек:

а) совпадает с искомым значением;

б) не совпадает с искомым значением;

в) содержит искомое значение;

г) не содержит искомое значение;

д) начинается с искомого значения;

е) не начинается с искомого значения;

ж) заканчивается искомым значением;

з) не заканчивается искомым значением.

8. Выбирать в качестве места вставки для скопированных строк либо новый лист, либо новую рабочую книгу.

Источник

Excel копирование строки на другой лист по условию

Как скопировать строки на новый лист на основе критериев столбца в Excel?

Например, есть таблица покупки фруктов, и теперь вам нужно скопировать записи на новый лист на основе указанных фруктов, как это легко сделать в Excel? Здесь я расскажу о нескольких методах копирования строк на новый лист на основе критериев столбца в Excel.

Вы можете фильтровать данные по указанному значению столбца, а затем вручную копировать отфильтрованные строки на новый лист в Excel. Пожалуйста, сделайте следующее:

1. Выберите столбец, на основе которого вы будете копировать строки, в нашем примере выберите столбец Fruit. А затем щелкните Данные > Фильтр.

2. Щелкните стрелку рядом с указанным заголовком столбца, а затем проверьте только указанный фрукт в раскрывающемся списке и щелкните значок OK кнопку.

В нашем примере щелкните стрелку рядом с заголовком столбца Fruit, а затем отметьте Apple только в раскрывающемся списке. См. Снимок экрана ниже:

3. Теперь отфильтровываются только записи указанных фруктов. Скопируйте эти записи.

4. Создайте новый лист, щелкнув значок or на панели вкладок листа.

5. Затем вставьте скопированные записи в новый лист.

И тогда вы увидите, что все записи об Apple скопированы и сохранены на новом листе. См. Снимок экрана ниже:

6. Повторите шаги 2–5, чтобы скопировать другие записи фруктов на новые листы.

Если в таблице много видов фруктов, копирование каждого вида записей фруктов на новые листы будет пустой тратой времени.

Второй метод поможет вам пакетно копировать строки на новый лист на основе критериев столбца Kutools for Excel Разделить данные утилита.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите диапазон, в который вы будете копировать строки на основе критериев столбца, и нажмите кнопку Кутулс Плюс > Разделить данные.

2. В открывшемся диалоговом окне «Разделить данные на несколько листов» вам необходимо:

(1) Проверьте Конкретный столбец вариант, щелкните раскрывающийся список ниже и укажите столбец, из которого вы будете копировать строки;

(2) Щелкните значок Правила поле и укажите Значения столбца из выпадающего списка;

3. Нажмите Ok кнопку.

Затем вы увидите, что каждый вид фруктовых записей копируется на отдельный новый лист новой созданной книги, как показано ниже:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

Простое копирование и вставка нескольких ячеек / диапазонов одновременно в Excel

Возможно, вы заметили, что Microsoft Excel не поддерживает одновременное копирование нескольких непоследовательных ячеек (находящихся в разных столбцах). Но копирование этих ячеек / выделений одно за другим — пустая трата времени и утомительно! Kutools для Excel Копировать диапазоны Утилита может помочь сделать это легко, как показано на скриншоте ниже.

Источник

Adblock
detector

Здравствуйте, уважаемые форумчане.
Не прошло и полгода, и я опять прошу Вашей помощи.
Отписываюсь в этой теме, т.к. сложности плавно вытекли из неё, суть вопроса осталась та же, так как предложенное AlexM решение проблемы теперь не помогает. Проблема была такая:

«Есть файл (во вложении), в котором существует огромный список адресов (каждая строка это отдельный адрес с кучей нужной информации по нему).
Каждая строка (т.е. каждый адрес) имеет 2 состояния (столбец «H») «Закрыт» и «В работе».
Задача у меня такая: скопировать на другой лист, который «ОТК», все строки, имеющие статус «В работе».»

Теперь же появилось третье состояние этого столбца (в примере P) — «На выплату» (дополнительно меня нагрузили теперь бухгалтерскими вопросами) и данная формула не помогает:

Код

=ИНДЕКС(Адреса!$A$1:$A$175;НАИМЕНЬШИЙ(ЕСЛИ(Адреса!$H$5:$H$175<>"Закрыт";СТРОКА($A$5:$A$175));СТРОКА(A1)))

, т.к. в листе ОТК теперь выводятся и объекты в работе и на выплату.

Попытка заменить «<> «Закрыт» на «= «В работе» приводит у тому, что пустые клетки выдают ошибку «!#ЧИСЛО».
Собственно 1 вопрос в том, как грамотно поменять формулу, чтобы сохранить функционал.

Есть 2 вопрос, уже бухгалтерский: в том же примере есть окно «Бухгалтерия», в котором я пытался автоматизировать подсчет зарплаты. Т.е. мне надо, чтобы все объекты со статусом «На выплату» автоматически забивались в ведомость, соответственно если одна фамилия встречается более 1 раза, зарплата суммировалась.

Буду благодарен, если кто поможет решить задачу или подскажет, как её победить.
Заранее спасибо.

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

Доброе время суток, уважаемые форумчане! Столкнулся с проблемой, которая, откровенно говоря, привела меня в некий ступор.    
Есть таблица на Листе1, которая ежедневно заполняется, необходимо из нее скопировать строки по условию значения в ячейке столбца C (он же 3)и вставить (добавлял) удовлетворяющую условию строку на Лист3. условием является шестизначное число (от 000000 до 999999).  
Заранее Спасибо всем за интерес и ответы!  
Поиск ничего не дал

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Чем автофильтр не устраивает?

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Если сломан автофильтр…

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

огромное спасибо!  
то, что надо!

 

а нельзя сделать, чтобы при заполнении Листа3 данные добавлялись, а не заполнялись по новой?

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

а нельзя сделать, чтобы при заполнении Листа3 данные добавлялись, а не заполнялись по новой?

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Как такой вариант — ставите вызов кода Юрия на событие активации листа (отключив обновление экрана на время работы).  
Только нужно Cells первого листа указать, чьи они, а третьего тогда не надо.  
И можно код на одну строку сократить:  

  If .Cells(i, 3) Like «######» Then

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

попробую с этим разобраться

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=}{date=11.11.2011 10:38}{thema=}{post}а нельзя сделать, чтобы при заполнении Листа3 данные добавлялись, а не заполнялись по новой?{/post}{/quote}А смысл? Результат будет тот же самый. Берите что дают, а то скачаю обратно.

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

Смысл есть, при изменении уже скопированных строк на Листе3 и последующем выполнении макроса измененные данные, на Листе3, будут переписаны и нужно будет  либо по новой вносить изменения или дублировать полученные данные на другом листе.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Изменяют строки обычно в исходных данных, а по ним уже строится отчёт. Если Вы планируете изменять сам отчёт — делайте это на копии листа 3.

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

да, обычно так и происходит, в смысле изменение данных в исходном документе, работать с копией полученного отчета, не проблема, вот только при создании нового отчета нужно будет учитывать, ранее полученный отчет…

 

Просматривая ответ на интересующий меня вопрос, нашел данную тему. Очень помогла. Скажите, а как можно было бы ограничить число копируемых ячеек в строке, например если исходная таблица имеет 10 ячеек в строке, а на том листе, куда переноситься (лист2 например) необходимы только 4 первых ячейки в строке (4 столбца)?

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Range(Cells(i, 1), Cells(i, 4)).Copy

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Если правильно понял вопрос:  
Range(Cells(i, 1), Cells(i, 4)).Copy .Cells(LastRow + 1, 1)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#16

21.08.2012 16:02:45

{quote}{login=}{date=21.08.2012 03:52}{thema=}{post}Просматривая ответ на интересующий меня вопрос{/post}{/quote}Просматривая Ваш вопрос, обнаружил, что Вы не подписываетесь. Анонимно легче? Наоборот: многие их тут не любят

Копировать строки с одних листов в другой при условии

biomirror

Дата: Пятница, 04.03.2016, 14:29 |
Сообщение № 1

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


Здравствуйте, уважаемые специалисты))
Вот такая вот появилась задачка:
Есть файл, в котором есть 4 листа: 3 листа — таблицы откуда должны Копироваться данные при определенном условии, 4-й лист (для копирования) — куда должны копироваться эти данные.
Условие:
В таблицах есть столбец LEXWARE: если в этом столбце значения принимают 555555 или 444444, то строку нужно автоматически копировать в таблицу «Для Копирования» (по порядку — без пустых строк).

НО, наверно самое важное, хотел бы узнать, как сделать, чтобы при добавлении нового листа — такой же таблицы с данными и столбцом LEXWARE, данные также бы копировались в таблицу «Для Копирования».

Задачу, наверно лучше решить с помощью макросов. Но если возможно, с помощью формул — не откажусь и от такого варианта решения)

Сообщение отредактировал biomirrorПятница, 04.03.2016, 16:11

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 15:57 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Для начала — Вам действительно надо переносить? Не копировать? Это сильно разные понятия.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 16:10 |
Сообщение № 3

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


KuklP, Каюсь, каюсь, каюсь, простите неразумного) Конечно же Копировать. Спасибо, что обратили внимание. Отредактировал тему.

Сообщение отредактировал biomirrorПятница, 04.03.2016, 16:12

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 16:11 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

[vba]

Код

Public Sub www()
    Dim sh As Worksheet
    With Sheets(«Для Копирования»)
    .UsedRange.Offset(1).Clear
        For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> «Для Копирования» Then
            sh.AutoFilterMode = 0
            sh.Range(«$A$1″).CurrentRegion.AutoFilter Field:=10, Criteria1:=»=555555» _
                    , Operator:=xlOr, Criteria2:=»=444444″
            sh.Range(«$A$1»).CurrentRegion.Offset(1).SpecialCells(12).Copy .[a65536].End(xlUp)(2, 1)
            sh.AutoFilterMode = 0
            End If
        Next
    End With
End Sub

[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Сообщение отредактировал KuklPПятница, 04.03.2016, 16:28

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 16:41 |
Сообщение № 5

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


KuklP, спасибо, работает. Только не подскажите, как сделать:
1. Чтобы данные переносились автоматически, без вызова макроса.
2. Как сделать, чтобы при добавлении нового листа, копировались строки, которые содержат 555555 или 444444

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 16:47 |
Сообщение № 6

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

1. Это надо силу мысли тренировать. Иначе будут копироваться когда ни попадя.
2. А Вы пробовали добавить лист?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 16:58 |
Сообщение № 7

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


1. Эммм… странно. Почему куда ни попадя. Нельзя сделать так, чтобы было все тоже самое, что сейчас, — только без вызова макроса или нажатия на кнопку?
2. Пробовал:
а)в Файле есть скрытый лист, при его «открытии» и внесении в него значения «555555» — данные из строки не копируются.
б) создал новый лист, ввел значение 555555 вышла ошибка: RunTime error ‘1004’ Метод AutoFilter из класса Range завершен некорректно

Сильно извиняюсь, хотел бы еще узнать, что значит каждая строчка в коде, а то вот ошибка вышла, а я даже не знаю, как ее исправить))

К сообщению приложен файл:

9428571.xlsm
(59.7 Kb)

Сообщение отредактировал biomirrorПятница, 04.03.2016, 17:29

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 17:48 |
Сообщение № 8

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Вы серьезно? — сделайте. Научитесь и сделайте. Добавьте в код сотни проверок для защиты от криворуких юзверей, вот типа:

создал новый лист, ввел значение 555555 вышла ошибка

— куда Вы ввели значение? Там есть таблица на листе? Вы бы еще на заборе «ввели», а потом бы удивлялись — чего это программа не поняла Ваших благих намерений.
— Вы точно туда попали? Стол заказов на другом подфоруме, а здесь помогают освоить ВБА, если что-то у Вас не получается. >(


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 18:17 |
Сообщение № 9

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


Добавьте в код сотни проверок для защиты от криворуких юзверей

Я только спросил. Зачем сразу так ругаться… Если бы я знал ответ на вопрос или имел представление, как это работает, я б наверно на форуме бы не стал спрашивать…

— куда Вы ввели значение? Там есть таблица на листе?

Эмм… я не спец. в эксель, обычный пользователь. Как я вижу процесс копирования: на листе в столбце есть определенное значение => строка переносится на другой лист.
Просто обозначил, что есть проблема, с которой самостоятельно не могу справиться. Зачем к словам-то цепляться.

Но, спасибо, за то, что уже сделали :)

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 18:32 |
Сообщение № 10

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

В таблицах есть столбец LEXWARE: если в этом столбце значения

— там куда Вы «вставили», есть таблица? В НЕЙ есть столбец LEXWARE? Т.е. Вам жутко тяжело нажать кнопку для запуска макроса, но Вы тут же чудите как заблагорассудится и программист должен учесть все возможные косяки? Неужели Вы для создания текстового документа станете запускать дефрагментатор диска? Вот. В Экселе тоже есть правила работы с ним. Будете работать не по правилам, получите ошибки и проблемы. Так устроен мир. Все, машины, компы, бытовые приборы, общество в конце концов :)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Сообщение отредактировал KuklPПятница, 04.03.2016, 18:32

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 18:53 |
Сообщение № 11

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


В НЕЙ есть столбец LEXWARE?

Во, во во, все, понял :D
Единственное, в скрытом листе, есть столбец LEXWARE. Почему тогда с этого листа строки не копируются, когда он становится открытым?

Т.е. Вам жутко тяжело нажать кнопку для запуска макроса

Просто подумал, что было бы неплохо, если бы строки «сами» копировались, вообще без участия человека. Если честно, я и сейчас думаю, что должно быть какое-нибудь простое несложное решение, чтобы не приходилось «нажимать на кнопку» (ну это же EXEL, он должен мочь)). Вопрос в том, КАК?

Сообщение отредактировал biomirrorПятница, 04.03.2016, 19:05

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 19:12 |
Сообщение № 12

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Ну вот, очередной перл от вас — скрытый лист. В топике есть хоть слово о нем? В примере есть скрытый лист? Как я могу судить о том чего в глаза не видел и даже не знал о его существовании? В макросе привязка к Ячейке А1: sh.Range(«$A$1»).CurrentRegion. Там есть что-нибудь в А1? Нет пропущенных строк? И т.д….


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 19:18 |
Сообщение № 13

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Увидел скрытый лист в примере. Там нет ни одной строки с 55555 и структура таблицы другая.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 19:34 |
Сообщение № 14

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Вот так скопирует со скрытого листа при наличии в колонке LEXWARE 555555, но смысл? Съехавшие данные, мусорник в результате. Неправильная работа. Лучше привести все листы к одному виду.
Sub Копирование()
[vba]

Код

Dim sh As Worksheet, m&
    With Sheets(«Для Копирования»)
    .UsedRange.Offset(1).Clear
        For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> «Для Копирования» Then
        m = Application.Match(«LEXWARE», Intersect(sh.UsedRange, sh.Rows(1)), 0)
            sh.AutoFilterMode = 0
            sh.Range(«$A$1″).CurrentRegion.AutoFilter Field:=m, Criteria1:=»=555555» _
                    , Operator:=xlOr, Criteria2:=»=444444″
            sh.Range(«$A$1»).CurrentRegion.Offset(1).SpecialCells(12).Copy .[a65536].End(xlUp)(2, 1)
            sh.AutoFilterMode = 0
            End If
        Next
    End With
End Sub

[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 19:51 |
Сообщение № 15

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


Ну вот, очередной перл от вас — скрытый лист.

Я эту задачу не совсем себе решаю… Просто коллектив далек от компьютеров да и от техники вообще (как, впрочем и я), но я один не шарахаюсь от различных компьютерных программ. Попросили что-нибудь придумать.
Одной из задач было то, что я обозначил в топике:

НО, наверно самое важное, хотел бы узнать, как сделать, чтобы при добавлении нового листа — такой же таблицы с данными и столбцом LEXWARE, данные также бы копировались в таблицу «Для Копирования».

Видимо слова «такой же таблицы с данными» были лишними.

Увидел скрытый лист в примере. Там нет ни одной строки с 55555 и структура таблицы другая.

Я вбивал в столбец LEXWARE 55555 и другие данные в другие столбцы. Но строка, в которую я вбивал 55555 не скопировалась в «общую» таблицу.

Наверно, правильнее задание будет сформулировать так:
Если в ячейке листа встречается 555555 или 444444, то строку в которой есть это значение, необходимо перенести в таблицу «Для Копирования».
Как это реализовать?

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 21:20 |
Сообщение № 16

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Если в ячейке листа встречается 555555 или 444444, то строку в которой есть это значение, необходимо перенести в таблицу «Для Копирования».

Вы понимаете, что это полнейшая ахинея? Хотите заниматься ерундой — Ваше право, а меня увольте. Вот ваш файл с макросом из #14. В нем скрытый лист с проставленными ключевыми значениями. Напрягитесь, нажмите кнопку в углу. Посмотрите что получилось. Это УЖЕ не таблица с данными, это помойка. А если дебильные юзвери, коих трудно обучить ткнуть кнопку, начнут где не попадя пихать ключевые цифры…

коллектив далек от компьютеров да и от техники вообще

Зачем вообще огород городить? Тетрадку в клеточку, линейку, ручку, карандаш и абак на стол. Безопасней для всех. :)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

biomirror

Дата: Пятница, 04.03.2016, 22:53 |
Сообщение № 17

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


Вот ваш файл с макросом из #14

Ааа… а где файл)) Попробовал макрос из #14 — почему-то не копирует у меня со скрытого листа.

начнут где не попадя пихать ключевые цифры…

Это будет уже другая проблема.

 

Ответить

KuklP

Дата: Пятница, 04.03.2016, 23:03 |
Сообщение № 18

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Файл.

К сообщению приложен файл:

1152441.xlsm
(62.1 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

biomirror

Дата: Суббота, 05.03.2016, 09:50 |
Сообщение № 19

Группа: Проверенные

Ранг: Участник

Сообщений: 95


Репутация:

0

±

Замечаний:
0% ±


Да, да, да вот так…
Понял, что вы имели ввиду, когда сказали, что получается полнейшая ахинея — количество столбцов таблицы скрытого листа, откуда копируются данные, не совпадает с количеством столбцов таблицы, куда копируются данные.
Хотел исправить ситуацию вставкой двух пустых столбцов и их последующим скрытием (думал, что скрипт просто переносит данные из столбца А одного листа в столбец А другого), но скрипт перестал работать… Как сделать, чтобы при вставке двух столбцов (после столбца D)и их последующем скрытии, скрипт работал?

Пробовал добавить лист, со структурой как в листе «Для копирования». Создал, внес в столбец LEXWARE в произвольную строчку 555555. Данные почему-то не копировались… Потом внес в другую строчку — стали копироваться. Ничего не мог понять. Потом только заметил, что в исходной таблице строки должны вносится по порядку, иначе копирования происходить не будет. Можно ли сделать так, чтобы строки копировались, если даже они занесены не по порядку?

Сообщение отредактировал biomirrorСуббота, 05.03.2016, 10:34

 

Ответить

KuklP

Дата: Суббота, 05.03.2016, 10:12 |
Сообщение № 20

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Ну уж нет, выловить все косяки стаи недолугих юзверей… Хлопотно это. Проще контингент обучить, а если не поддаются обучению — гнать в три шеи и набирать новых, поддающихся. Если уж я, сварщик смог освоить это, триста лет мне ненужное, то какой смысл платить зарплату инфузориям, которым это нужно, но они не в состоянии. Судите сами — хочешь работать в Эксе(Ворде, Винде да в чем угодно), изучаешь Экс. А не Экс подстраивается под каждого идиота deal


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

Например, есть таблица покупки фруктов, и теперь вам нужно скопировать записи на новый лист на основе указанных фруктов, как это легко сделать в Excel? Здесь я расскажу о нескольких методах копирования строк на новый лист на основе критериев столбца в Excel.

  • Копировать строки на новый лист на основе критериев столбца путем фильтрации и копирования
  • Скопируйте строки на новый лист на основе критериев столбца, Kutools for Excel

Копировать строки на новый лист на основе критериев столбца путем фильтрации и копирования

Вы можете фильтровать данные по указанному значению столбца, а затем вручную копировать отфильтрованные строки на новый лист в Excel. Пожалуйста, сделайте следующее:

1. Выберите столбец, на основе которого вы будете копировать строки, в нашем примере выберите столбец Fruit. А затем щелкните Данные > Фильтр.

doc копировать строки по значению столбца 2

2. Щелкните стрелку рядом с указанным заголовком столбца, а затем проверьте только указанный фрукт в раскрывающемся списке и щелкните значок OK кнопку.

В нашем примере щелкните стрелку рядом с заголовком столбца Fruit, а затем отметьте Apple только в раскрывающемся списке. См. Снимок экрана ниже:

3. Теперь отфильтровываются только записи указанных фруктов. Скопируйте эти записи.

4. Создайте новый лист, щелкнув значок  or  на панели вкладок листа.

5. Затем вставьте скопированные записи в новый лист.

И тогда вы увидите, что все записи об Apple скопированы и сохранены на новом листе. См. Снимок экрана ниже:

doc копировать строки по значению столбца 6

6. Повторите шаги 2–5, чтобы скопировать другие записи фруктов на новые листы.

Если в таблице много видов фруктов, копирование каждого вида записей фруктов на новые листы будет пустой тратой времени.


Скопируйте строки на новый лист на основе критериев столбца, Kutools for Excel

Второй метод поможет вам пакетно копировать строки на новый лист на основе критериев столбца. Kutools for ExcelАвтора Разделить данные утилита.

1. Выберите диапазон, в который вы будете копировать строки на основе критериев столбца, и нажмите кнопку Кутулс Плюс > Разделить данные.

2. В открывшемся диалоговом окне «Разделить данные на несколько листов» вам необходимо:

(1) Проверьте Конкретный столбец вариант, щелкните раскрывающийся список ниже и укажите столбец, из которого вы будете копировать строки;

(2) Щелкните значок Правила поле и укажите Значения столбца из выпадающего списка;

3. Нажмите Ok кнопку.

Затем вы увидите, что каждый вид фруктовых записей копируется на отдельный новый лист новой созданной книги, как показано ниже:

doc копировать строки по значению столбца 9

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Демонстрация: копирование строк на новый лист на основе критериев столбца в Excel


Простое копирование и вставка нескольких ячеек / диапазонов одновременно в Excel

Вы могли заметить, что Microsoft Excel не поддерживает одновременное копирование нескольких непоследовательных ячеек (оставающихся в разных столбцах). Но копирование этих ячеек/выборов по одной занимает много времени и утомительно! Kutools for ExcelАвтора Копировать диапазоны Утилита может помочь сделать это легко, как показано на скриншоте ниже.

объявление копировать несколько диапазонов 1


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

Отбор данных по условию и копирование на новый лист

Автор Эдик, 03.03.2010, 20:58

« назад — далее »

Здравствуйте!У меня проблема,для меня сложная:есть таблица с данными,и надо данные,содержащие определенный идентификатор отбирать и копировать на отдельный лист.Проблема в том,чтоб автоматизировать этот процесс для многократного использования.И еще чтоб цифры,соответствующие этим данным,складывались под одними данными.Помогите пожалуйста.


приложите пример чтобы было понятней!!!


фильтр по условию «если есть #»


Понятнее не стало…
Автор явно не хочет, чтобы ему помогли.
Нарисуйте в примере, что нужно получить на другом листе.



есть два варианта, если я правильно понял задачу то можно использовать функцию надстройки Plex если она установлена-суммирование ячеек с определенным цветом заливки или суммирование ячеек с определенным цветом шрифта(пример на листе 2), а можно использовать функцию СУММЕСЛИМН только символ для фильтрации ставить перед словом. Функция примет форму =СУММЕСЛИМН(Лист1!B2:B5;Лист1!A2:A5;»#*») пример на листе 3


Не,там надо ессли в строке в первом столбце содержиться #,то эту строку(состоящую из 3 столбцов) просто копировать на другой лист и все.А суммировать надо 2 столбец,если 1-ый у строк совпадают



Вот оно!!!! :DВот,да вот так.А как это делается??Если можно,чтоб нажать на кнорочку.и …


Просто мне надо автоматизировать этот процесс.те чтоб открыл(с любым кол-вом строк и столбцов),провел пару действий и уже есть результат  :'(


просто укажите диапозон с расчетом на будущее =СУММЕСЛИМН(Лист1!$B$2:$B$100;Лист1!$A$2:$A$100;A1) например так, и после внесения изменений или добавлении строк Excel будет проводить пересчет автоматически


Предлагаю вариант с помощью сводной таблицы.


Чего то у меня етот html документ не открывается.А _сводные_ таблицы-это как?


Так а куда вносить =СУММЕСЛИМН(Лист1!$B$2:$B$100;Лист1!$A$2:$A$100;A1),вообще и он сам копирует строку,и куда эту формулу вставлять??


В общем,надо так-файл содержит 200 строк(3 столбца),если в первом столбце строки стоит #, то вся строка должна автоматически копироваться на другой лист.И если совпадают первый столбец строки,то тогда просто суммировать 2 столбуц.Только чтоб все это делалось автоматом


на листе два в столбце А вносите товар в ручную, эта жэ ячейка будет служить критерием для поичка и суммирования, в соседнюю ячейку столбца В вводим формулу =СУММЕСЛИМН(Лист1!$B$2:$B$200;Лист1!$A$2:$A$200;A3) она будет искать в таблице значения соответствующие названию товара и суммировать, в соседнюю ячейку столбца С вводим формулу =ВПР(A1;Лист1!A2:$C$200;3) эта формула возвращает значение столбца С соответствующее заданному критерию т.е. цена товара


А давайте попробуем так — см. вложение.
На листе 2 товар заносится сам, в лист 1 можно добавлять значения, диапазон формул динамический.
Усложнять проверкой на ошибку не стал, если значеия с «#» кончаются, то появляющееся значение ошибки (строки 8-12 листа 2) условным форматированием красятся в серый цвет. Если это критично, то можно добавить ЕСЛИ(ЕШИБКА(…….);»»;…….), где ……. — формула в столбце А листа 2. Для 2007 и выше — ЕСЛИОШИБКА(……..;»»).

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


согласен, только цифры в столбце цена суммировать не надо, или я не прав?


А, ну да, точно.
Тогда в столбце С листа 2 формула

=ВПР(A2;СМЕЩ(Лист1!$A$1;;;СЧЁТЗ(Лист1!A:A);3);3;0)

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_,
Красиво выкрутили с уникальными строками:
ПОИСКПОЗ(Предм;Предм;0)=СТРОКА(Предм)-1


Цитата: Эдик от 03.03.2010, 23:09
В общем,надо так-файл содержит 200 строк(3 столбца),если в первом столбце строки стоит #, то вся строка должна автоматически копироваться на другой лист.И если совпадают первый столбец строки,то тогда просто суммировать 2 столбуц.Только чтоб все это делалось автоматом

Ещё вариант со сводной.




  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Отбор данных по условию и копирование на новый лист

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Копирование строк в excel макросы
  • Копирование страницы в excel с сохранением формата
  • Копирование формата в ms word
  • Копирование страницы word целиком
  • Копирование условное форматирование excel в лист

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии