WedX - журнал о программировании и компьютерных науках

Копировать строки в зависимости от условий и вставлять эти строки в разные книги в зависимости от условий (EXCEL VBA).

Может ли кто-нибудь порекомендовать мне хорошее видео об этой проблеме Excel VBA

У меня есть главная книга с несколькими тысячами строк. На основе значения в столбце 2 мне нужно скопировать каждую строку в одну из 10 разных книг.

Пока я нашел только это видео: https://www.familycomputerclub.com/copy-data-to-another-workbook-based-on-sales-date.html

Это было полезно, но не позволило мне пройти весь путь туда.

Может кто-нибудь порекомендовать хорошее видео, которое будет проходить через это со мной. Я ищу видео, чтобы понять, что я делаю, а не просто копировать и вставлять код.

Спасибо!

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

  1. скопировать строку из главной книги
  2. открыть копию в книгу
  3. вставить в копию в книгу
  4. сохранить копию в книгу
  5. закрыть копию книги

Код:

Sub updateAllWorkbooks()

a = Worksheets("All").Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To a

    If Worksheets("All").Cells(i, 2).Value = "DENVER" Then

        Worksheets("All").Rows(i).Copy
        Workbooks.Open Filename:="FILE NAME IS PASTED HERE"
        Worksheets("DENVER").Activate
        b = Worksheets("DENVER").Cells(Rows.Count, 1).End(xlUp).Row
        Worksheets("DENVER").Cells(b + 1, 1).Select
        ActiveSheet.Paste
        ActiveWorkbook.Save
        ActiveWorkbook.Close
        Application.CutCopyMode = False
        Worksheets("All").Activate

    End If

Next

Application.CutCopyMode = False

ThisWorkbook.Worksheets("All").Cells(1, 1).Select

End Sub
29.10.2018

  • Будет ли это повторяющаяся задача или что-то, что вам нужно сделать только один раз? 29.10.2018
  • Это будет повторяться. Основная рабочая книга обновляется в течение дня. И в конце каждого дня 10 различных рабочих книг необходимо будет обновлять на основе этих изменений основной рабочей книги. Спасибо! 30.10.2018
  • Я одобряю ваше желание найти видео, которое обучает вас, а не просто дает вам код для копирования/вставки — отличный первый шаг! К сожалению, этот вопрос немного не по теме для SO. Этот сайт предназначен для конкретных вопросов по программированию (помогите мне с моим кодом), где вы размещаете некоторый код и какие у вас возникают ошибки/проблемы. При этом вы захотите искать такие вещи, как копирование данных VBA в отдельные книги, vba находит полную строку на основе совпадения, чтобы вы начали. 30.10.2018
  • Спасибо за разъяснения. Понимаю. У меня есть приведенный ниже код в Excel. Это просто копирование строк с одним условием в одну книгу. (думал начать с малого). 30.10.2018
  • @ElisaNicole - О, здорово! Пожалуйста, отредактируйте свой исходный пост, включив в него код, который у вас есть, и любые комментарии (вы получаете ошибки, работает ли это, но непредвиденные результаты и т. д.)? (Отформатируйте код с помощью тегов кода, {}). 30.10.2018
  • В этом случае это должно помочь stackoverflow.com/questions/21074874/ 30.10.2018
  • @BruceWayne Я только что поблагодарил тебя. Извините, я не понял, что не могу добавить все это в комментарий. Первый раз задаю вопрос здесь! 30.10.2018
  • Спасибо @Marcucciboy2! На самом деле я смог выполнить код для копирования и вставки между листами просто отлично. Сейчас я пытаюсь переработать его (медленно), чтобы копировать и вставлять между книгами, и именно здесь я сталкиваюсь с проблемами. 30.10.2018
  • О, хорошо, вы, возможно, захотите создать объекты рабочей книги для каждого из 10 объектов, которые вы хотите вставить/из которых, а затем установить эти объекты с помощью workbooks.open. Тогда вы можете просто сказать, как workbookA.sheets("sheet").Rows(...).value = workbookB.sheets("sheet").Rows(...).value 30.10.2018
  • Я посмотрю на это, спасибо @Marcucciboy2 30.10.2018
  • @ Marcucciboy2 Это сработало, спасибо! 30.10.2018

Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

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

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]