разделить данные на основе их собственной ценности - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть данные, где список является динамическим. Я хотел бы разделить базу данных по их собственному значению. Я не могу предсказать точное значение, приходящее каждый раз. Пример: - На этот раз я получил балансовую единицу как 1959809 и 1960574. Я хотел бы отфильтровать данные на основе балансовой единицы и вставить их в новую рабочую книгу. Этот номер будет меняться каждый раз. В следующий раз балансовая единица может быть 1960574 и 1963665.

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

Я не получаю никакой логики для этого. Следовательно, мне нечего показать.

Мы должны получить две или более рабочих книги на основе балансовой единицы вместе с соответствующими данными.

1 Ответ

0 голосов
/ 30 сентября 2019

Если ваши данные имеют первый столбец «Код компании» и начинаются с первой строки листа, следующий код поможет вам в достижении вашей цели:

    Sub ExportFilteredData()
    Dim Codes As String, CodesArray, Code
    Dim Wb As Workbook, CurSht As Worksheet

    'Get the company codes from user as comma separated values
    Codes = InputBox("Enter Company codes separated by comma")
    CodesArray = Split(Codes, ",") 'Split company codes to array

    'Save the data sheet reference and remove any applied filter
    Set CurSht = ActiveSheet
    CurSht.AutoFilterMode = False

    'Filter data for each company code and save as new workbook
    For Each Code In CodesArray
        'Change the 'Field' value to the actual 'Company Code' column number 
        CurSht.Range("A1").AutoFilter Field:=1, Criteria1:=Trim(Code)
        Set Wb = Workbooks.Add
        CurSht.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Wb.Sheets(1).Range("A1")
        'Change the path and filename as per your requirement    
        Wb.SaveAs ThisWorkbook.Path & "\" & Trim(Code) & ".xlsx"
        Wb.Close False
        CurSht.AutoFilterMode = False
    Next

    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...