Добрый вечер!
Есть книга Excel, в ней уйма листов. В названиях листов первая часть имени является названием класса, к примеру, 354А(группа1), 354А(группа2). Нужно разделить книгу на файлы, в которых будут листы с одинаковыми классами.
На питоне это реализуется очень просто, вот так. Суть кода элементарная как сам код - сперва формируем множество уникальных названий класса, путём взятие первых 4 символов из названия каждого листа, потом циклом сравниваем каждый класс именами листов, если название содержит класс, добавляем в книгу, в конце сохраняем книгу по имени класса. Собственно, на питоне это и работает, однако такой подход убивает всё оформление, что, увы, не подходит. Подскажите пожалуйста, как реализовать сей код на VBA?
Код |
---|
import pyexcel_xlsx as pe
from pyexcel_xlsx import save_data
from collections import OrderedDict
file = pe.get_data('2018.xlsx')
sheet_name = set()
for key in file.keys():
sheet_name.add(key[0:4].lower())
for name in sheet_name:
data = OrderedDict()
for key in file.keys():
if name in key.lower():
data.update({key:file[key]})
save_data('{}.xlsx'.format(name), data) |