2 Швидкі засоби розділення вмісту робочого аркуша Excel на кілька робочих книг на основі конкретної колонки

Поділитися зараз:

Іноді під час аналізу даних може знадобитися розділити вміст аркуша Excel на кілька книг Excel відповідно до певного стовпця. У цій публікації ми навчимо вас двом швидким способам отримати це.

Багатьом користувачам часто потрібно розділити аркуш Excel, який містить величезні рядки даних, на кілька окремих книг Excel на основі певного стовпця. Наприклад, ось мій зразок робочого аркуша Excel. Я хотів би розділити дані цього аркуша на основі стовпця "Ціна єдиної ліцензії (долари США)" на кілька робочих книг.

Зразок робочого аркуша Excel

Загалом, ви схильні використовувати наступний спосіб 1 для ручного фільтрування та копіювання даних. Але це буде досить нудно і дурно, якщо варіантів фільтрів буде занадто багато. Тому тут ми також показуємо набагато зручніший спосіб - метод 2, який використовує VBA. Тепер читайте далі, щоб отримати їх детально.

Спосіб 1: Скопіюйте вміст в окремі книги Excel після фільтра

  1. Спочатку виберіть клітинку у конкретному стовпці, наприклад, “Cell B1” у моєму власному екземплярі.
  2. Потім перейдіть на вкладку «Дані» та натисніть кнопку «Фільтр».Фільтрувати дані
  3. Далі натисніть кнопку “стрілка вниз” у заголовку стовпця, щоб відобразити список варіантів фільтрування.
  4. Тепер зніміть прапорець біля опції “(Виділити все)”.Зніміть прапорець біля пункту «Вибрати все»
  5. Після цього ви можете вибрати один варіант фільтра, наприклад, “29.95” у моєму прикладі, та натиснути “OK”.
  6. Відразу залишаться лише дані, значення яких у стовпці B дорівнює “29.95”.Залишились лише відфільтровані дані
  7. Потім скопіюйте відфільтровані дані та вставте їх у нову книгу Excel.Скопіюйте та вставте вміст
  8. Пізніше використовуйте той самий спосіб, щоб розділити інші дані, щоб розділити книги Excel.

Спосіб 2: Пакетний розділений вміст у кілька книг Excel за допомогою VBA

  1. Перш за все, переконайтеся, що відкрито конкретний аркуш.
  2. Далі запустіть редактор VBA відповідно до “Як запустити код VBA у вашому Excel».
  3. Потім додайте наступний код у проект “ThisWorkbook”.
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
    Dim objWorksheet As Excel.Worksheet
    Dim nLastRow, nRow, nNextRow As Integer
    Dim strColumnValue As String
    Dim objDictionary As Object
    Dim varColumnValues As Variant
    Dim varColumnValue As Variant
    Dim objExcelWorkbook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
 
    Set objWorksheet = ActiveSheet
    nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row
 
    Set objDictionary = CreateObject("Scripting.Dictionary")
 
    For nRow = 2 To nLastRow
        'Get the specific Column
        'Here my instance is "B" column
        'You can change it to your case
        strColumnValue = objWorksheet.Range("B" & nRow).Value
 
        If objDictionary.Exists(strColumnValue) = False Then
           objDictionary.Add strColumnValue, 1
        End If
    Next
 
    varColumnValues = objDictionary.Keys
 
    For i = LBound(varColumnValues) To UBound(varColumnValues)
        varColumnValue = varColumnValues(i)
 
        'Create a new Excel workbook
        Set objExcelWorkbook = Excel.Application.Workbooks.Add
        Set objSheet = objExcelWorkbook.Sheets(1)
        objSheet.Name = objWorksheet.Name
 
        objWorksheet.Rows(1).EntireRow.Copy
        objSheet.Activate
        objSheet.Range("A1").Select
        objSheet.Paste
 
        For nRow = 2 To nLastRow
            If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
               'Copy data with the same column "B" value to new workbook
               objWorksheet.Rows(nRow).EntireRow.Copy
  
               nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
               objSheet.Range("A" & nNextRow).Select
               objSheet.Paste
               objSheet.Columns("A:B").AutoFit
            End If
        Next
    Next
End Sub

Код VBA - розділіть вміст робочого аркуша Excel на кілька книг на основі певної колонки

  1. Після цього клацніть піктограму «Виконати» на панелі інструментів або натисніть клавішу «F5».
  2. Коли макрос закінчиться, будуть створені окремі книги Excel із розділеними даними з вихідного аркуша Excel.Нові книги Excel
  3. Кожна книга буде виглядати на наступному скріншоті.Окремі нові книги Excel

порівняння

  Переваги Недоліки
Метод 1 1. Простота в експлуатації для всіх користувачів Excel Проблемно, якщо варіантів фільтрів занадто багато
2. Швидко, якщо варіантів фільтрів мало
Метод 2 Набагато ефективніший, ніж метод 1, незалежно від кількості вибору фільтра Трохи важко працювати з новачками VBA

Запобігання втраті даних Excel

Незважаючи на те, що MS Excel стає все більш досконалим та вдосконаленим, він все ще час від часу періодично аварійно завершує роботу через різні фактори, такі як зловмисні надбудови сторонніх розробників або людські помилки тощо. Оскільки збій Excel може безпосередньо призвести до Пошкодження Excel, щоб уникнути втрати даних Excel, вам потрібно регулярно створювати резервні копії файлів Excel. В іншому випадку вам потрібно застосувати інструмент відновлення Excel, наприклад DataNumen Excel Repair виправити пошкоджені файли Excel.

Вступ автора:

Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі SQL Server ремонт та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.