Выборка данных из нескольких листов в отдельный файл - VBA
Формулировка задачи:
Здравствуйте, прошу помочь со следующим макросом: есть довольно большая база данных о предприятиях, которая расположена на нескольких листах (допустим л1, л2, л3), каждый месяц нужно делать выборку по каждому предприятию в отдельный файл так, чтобы при наличии данных об этом предприятии на л1 - в новом файле был лист л1 с этой выборкой и так далее. У меня получается только скопировать целый лист в новый файл, а выборку по условию (то есть по конкретному предприятию) сделать не получается. Прошу помочь. Тестовую базу данных прикрепляю (на ней тренируюсь делать).
Решение задачи: «Выборка данных из нескольких листов в отдельный файл»
textual
Листинг программы
Sub tt() Dim sh As Worksheet, nsheet As Worksheet Dim city$, actbook As Workbook, Newbook As Workbook city = InputBox("city?") If Len(city) Then Application.ScreenUpdating = False Set actbook = ActiveWorkbook Set Newbook = Workbooks.Add(1) For Each sh In actbook.Worksheets Set nsheet = Newbook.Sheets.Add(After:=Newbook.Sheets(Newbook.Sheets.Count)) nsheet.Name = sh.Name With sh If .AutoFilterMode Then .AutoFilter.Range.AutoFilter .UsedRange.AutoFilter Field:=3, Criteria1:=city .UsedRange.SpecialCells(xlCellTypeVisible).EntireRow.Copy nsheet.Cells(1) .AutoFilter.Range.AutoFilter End With Next Application.DisplayAlerts = False Newbook.Sheets(1).Delete Application.DisplayAlerts = True End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д