Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Создать отдельный файл по фильтру. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Создать отдельный файл по фильтру.
Mark1976 Дата: Суббота, 15.03.2025, 07:29 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
Здравствуйте уважаемые посетители сайта. Помогите с решением. Есть отдельный файл. Колонка D содержит наименование лечебного учреждения. Всего их порядка 100. Мне надо для каждой мед.организации создать свой файл, чтобы в этом файле была информация только по этому учреждению. Руками удалять ненужные строки очень долго. Хотелось бы сделать так: фильтрую учреждение, нажимаю кнопку, на выходе создается файл только по этому учреждению с сохранением внешнего вида файла источника. Буду очень признателен за помощь.
К сообщению приложен файл: 14_03_peredacha_iz_o_v_uchrezh.xlsx (37.5 Kb)
 
Ответить
СообщениеЗдравствуйте уважаемые посетители сайта. Помогите с решением. Есть отдельный файл. Колонка D содержит наименование лечебного учреждения. Всего их порядка 100. Мне надо для каждой мед.организации создать свой файл, чтобы в этом файле была информация только по этому учреждению. Руками удалять ненужные строки очень долго. Хотелось бы сделать так: фильтрую учреждение, нажимаю кнопку, на выходе создается файл только по этому учреждению с сохранением внешнего вида файла источника. Буду очень признателен за помощь.

Автор - Mark1976
Дата добавления - 15.03.2025 в 07:29
doober Дата: Суббота, 15.03.2025, 13:26 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 993
Репутация: 345 ±
Замечаний: 0% ±

Excel 2010
Приветствую.Уберу форматирование, так, как форматирует не правильно
Sub start()
Dim rng As Range, Sh As Worksheet, Sh1 As Worksheet
Set Sh = ThisWorkbook.Worksheets(1)
LastRow = Sh.Cells(Sh.Rows.Count, 1).End(xlUp).Row
LastColl = Sh.UsedRange.Column + Sh.UsedRange.Columns.Count - 1
Set rng = Sh.Range("A1").Resize(LastRow, LastColl).SpecialCells(xlCellTypeVisible)

Set Sh1 = Workbooks.Add.Worksheets(1)
rng.Copy
Sh1.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
rng.Copy Sh1.Range("A1")
Sh1.parent.SaveAs Filename:="Путь сохранить.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub




Сообщение отредактировал doober - Суббота, 15.03.2025, 14:28
 
Ответить
СообщениеПриветствую.Уберу форматирование, так, как форматирует не правильно
Sub start()
Dim rng As Range, Sh As Worksheet, Sh1 As Worksheet
Set Sh = ThisWorkbook.Worksheets(1)
LastRow = Sh.Cells(Sh.Rows.Count, 1).End(xlUp).Row
LastColl = Sh.UsedRange.Column + Sh.UsedRange.Columns.Count - 1
Set rng = Sh.Range("A1").Resize(LastRow, LastColl).SpecialCells(xlCellTypeVisible)

Set Sh1 = Workbooks.Add.Worksheets(1)
rng.Copy
Sh1.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
rng.Copy Sh1.Range("A1")
Sh1.parent.SaveAs Filename:="Путь сохранить.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub

Автор - doober
Дата добавления - 15.03.2025 в 13:26
i691198 Дата: Суббота, 15.03.2025, 18:18 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 395
Репутация: 122 ±
Замечаний: 0% ±

2016
Добрый вечер. Посмотрите такой вариант с UserForm. Фильтр здесь не нужен. В листбоксе выбрать учреждение и нажать кнопку "Сохранить в файл" Файл сохранится в той же папке, с именем <название учреждения>.xlsx Данных маловато для нормального тестирования, сами добавьте и потестите.
К сообщению приложен файл: 14_03_peredacha_iz_o_v_uchrezh.xlsm (49.9 Kb)
 
Ответить
СообщениеДобрый вечер. Посмотрите такой вариант с UserForm. Фильтр здесь не нужен. В листбоксе выбрать учреждение и нажать кнопку "Сохранить в файл" Файл сохранится в той же папке, с именем <название учреждения>.xlsx Данных маловато для нормального тестирования, сами добавьте и потестите.

Автор - i691198
Дата добавления - 15.03.2025 в 18:18
Mark1976 Дата: Суббота, 15.03.2025, 18:23 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, здравствуйте. а как применить макрос в оригинальном файле?
 
Ответить
Сообщениеi691198, здравствуйте. а как применить макрос в оригинальном файле?

Автор - Mark1976
Дата добавления - 15.03.2025 в 18:23
Mark1976 Дата: Суббота, 15.03.2025, 18:27 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
doober, не понял как макрос работает. Создался пустой файл.
 
Ответить
Сообщениеdoober, не понял как макрос работает. Создался пустой файл.

Автор - Mark1976
Дата добавления - 15.03.2025 в 18:27
Mark1976 Дата: Суббота, 15.03.2025, 18:39 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, Сохраняет файл в котором 2 листа, один из которых пустой.
 
Ответить
Сообщениеi691198, Сохраняет файл в котором 2 листа, один из которых пустой.

Автор - Mark1976
Дата добавления - 15.03.2025 в 18:39
doober Дата: Суббота, 15.03.2025, 18:40 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 993
Репутация: 345 ±
Замечаний: 0% ±

Excel 2010
Как пустой
К сообщению приложен файл: 3727087.xlsm (43.0 Kb)


 
Ответить
СообщениеКак пустой

Автор - doober
Дата добавления - 15.03.2025 в 18:40
i691198 Дата: Суббота, 15.03.2025, 18:48 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 395
Репутация: 122 ±
Замечаний: 0% ±

2016
Нужно скопировать модуль формы UserForm1 и общий модуль Module2 в ваш файл, подправить диапазоны и сделать макет формы. Вообще то макросы не очень сложные, но некоторых знаний по VBA все же требуют. Если сами не сможете разобраться, приложите файл максимально приближенный к оригиналу. Столько столбцов не нужно, достаточно нескольких, лишь бы был ключевой столбец с именами учреждений.
P.S. думаю будет проще удалить данные с этого примера и вместо них скопировать нужные с оригинала.
 
Ответить
СообщениеНужно скопировать модуль формы UserForm1 и общий модуль Module2 в ваш файл, подправить диапазоны и сделать макет формы. Вообще то макросы не очень сложные, но некоторых знаний по VBA все же требуют. Если сами не сможете разобраться, приложите файл максимально приближенный к оригиналу. Столько столбцов не нужно, достаточно нескольких, лишь бы был ключевой столбец с именами учреждений.
P.S. думаю будет проще удалить данные с этого примера и вместо них скопировать нужные с оригинала.

Автор - i691198
Дата добавления - 15.03.2025 в 18:48
Mark1976 Дата: Суббота, 15.03.2025, 18:52 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
doober, понял принцип работы макроса. Хорошо если бы он сразу сохранил файл. Спасибо.
 
Ответить
Сообщениеdoober, понял принцип работы макроса. Хорошо если бы он сразу сохранил файл. Спасибо.

Автор - Mark1976
Дата добавления - 15.03.2025 в 18:52
Mark1976 Дата: Суббота, 15.03.2025, 18:54 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, здравствуйте. Мне стыдно, но я не понимаю ничего в макросах. Оригинал наверное не смогу приложить, там перс.данные. А как ваше решение применить не соображу.
 
Ответить
Сообщениеi691198, здравствуйте. Мне стыдно, но я не понимаю ничего в макросах. Оригинал наверное не смогу приложить, там перс.данные. А как ваше решение применить не соображу.

Автор - Mark1976
Дата добавления - 15.03.2025 в 18:54
i691198 Дата: Суббота, 15.03.2025, 19:52 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 395
Репутация: 122 ±
Замечаний: 0% ±

2016
там перс.данные

Персональные данные не нужно показывать, требуется макет с абстрактными данными. Нужно видеть структуру данных. Самое главное - это положение ключевого диапазона с именами учреждений.
не соображу
Я вам предложил вариант, который практически не требует знаний VBA. очистить лист в моем примере, вставить ваши данные, подправить диапазоны и переименовать файл. Если вы сообщите в каком столбце и начиная с какой строки находятся ключевые данные, то подскажу что нужно будет исправить в коде.
 
Ответить
Сообщение
там перс.данные

Персональные данные не нужно показывать, требуется макет с абстрактными данными. Нужно видеть структуру данных. Самое главное - это положение ключевого диапазона с именами учреждений.
не соображу
Я вам предложил вариант, который практически не требует знаний VBA. очистить лист в моем примере, вставить ваши данные, подправить диапазоны и переименовать файл. Если вы сообщите в каком столбце и начиная с какой строки находятся ключевые данные, то подскажу что нужно будет исправить в коде.

Автор - i691198
Дата добавления - 15.03.2025 в 19:52
Mark1976 Дата: Суббота, 15.03.2025, 19:58 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, Ок. Пробую. Спасибо за помощь. Оригинал практически не отличается от примера. D3 мед.организация. Только названия другие.
 
Ответить
Сообщениеi691198, Ок. Пробую. Спасибо за помощь. Оригинал практически не отличается от примера. D3 мед.организация. Только названия другие.

Автор - Mark1976
Дата добавления - 15.03.2025 в 19:58
Mark1976 Дата: Суббота, 15.03.2025, 20:08 | Сообщение № 13
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, об этом я не подумал. Сделал как вы сказали. Все работает. Вот только окно с выбором сделать бы шире. Не видно название учреждений. Их название длинные. А так все отлично !!!
 
Ответить
Сообщениеi691198, об этом я не подумал. Сделал как вы сказали. Все работает. Вот только окно с выбором сделать бы шире. Не видно название учреждений. Их название длинные. А так все отлично !!!

Автор - Mark1976
Дата добавления - 15.03.2025 в 20:08
i691198 Дата: Суббота, 15.03.2025, 20:42 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 395
Репутация: 122 ±
Замечаний: 0% ±

2016
окно с выбором сделать бы шире

Ну это совсем просто. Нажать Alt+F11. В левой стороне должно быть окно Project, в нем в папке Forms найти модуль формы UserForm1. На нем кликнуть ПКМ и выбрать View Object. Появится макет формы, в нем ЛКМ можно перемещать и менять размеры любых объектов.
К сообщению приложен файл: 9806501.png (23.5 Kb)
 
Ответить
Сообщение
окно с выбором сделать бы шире

Ну это совсем просто. Нажать Alt+F11. В левой стороне должно быть окно Project, в нем в папке Forms найти модуль формы UserForm1. На нем кликнуть ПКМ и выбрать View Object. Появится макет формы, в нем ЛКМ можно перемещать и менять размеры любых объектов.

Автор - i691198
Дата добавления - 15.03.2025 в 20:42
Mark1976 Дата: Суббота, 15.03.2025, 20:52 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, спасибо. Расширил.


Сообщение отредактировал Mark1976 - Суббота, 15.03.2025, 20:54
 
Ответить
Сообщениеi691198, спасибо. Расширил.

Автор - Mark1976
Дата добавления - 15.03.2025 в 20:52
Mark1976 Дата: Суббота, 15.03.2025, 21:09 | Сообщение № 16
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
i691198, Спасибо !!! Всем также спасибо за проявленный интерес к теме.
 
Ответить
Сообщениеi691198, Спасибо !!! Всем также спасибо за проявленный интерес к теме.

Автор - Mark1976
Дата добавления - 15.03.2025 в 21:09
cmivadwot Дата: Понедельник, 17.03.2025, 01:34 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 599
Репутация: 115 ±
Замечаний: 0% ±

365
Mark1976,
К сообщению приложен файл: 8431498.xlsm (52.8 Kb)
 
Ответить
СообщениеMark1976,

Автор - cmivadwot
Дата добавления - 17.03.2025 в 01:34
Mark1976 Дата: Понедельник, 17.03.2025, 13:51 | Сообщение № 18
Группа: Проверенные
Ранг: Ветеран
Сообщений: 799
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
cmivadwot, спасибо.
 
Ответить
Сообщениеcmivadwot, спасибо.

Автор - Mark1976
Дата добавления - 17.03.2025 в 13:51
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!