У меня следующая проблема:
У меня есть электронная таблица типа:
Field1 Field2 Field3 Field4
NameA AddressA KeyA ValueA
NameB AddressB KeyA ValueB
NameD AddressD KeyA ValueD
NameE AddressE KeyB ValueE
NameC AddressC KeyB ValueC
NameF AddressF KeyC ValueF
.... (200k entries)
Я хотел бы прочитать рабочий лист и создать несколько отдельных рабочих книг Excel, содержащих только один рабочий лист, каждый из которых будет содержать:
Workbook1/Sheet1: (Workbookname ie KeyA.xlsx)
Field1 Field2 Field3 Field4
NameA AddressA KeyA ValueA
NameB AddressB KeyA ValueB
NameD AddressD KeyA ValueD
Workbook2/Sheet1: (Workbookname ie KeyB.xlsx)
Field1 Field2 Field3 Field4
NameC AddressC KeyB ValueC
NameE AddressE KeyB ValueE
Workbook3/Sheet1: (Workbookname ie KeyC.xlsx)
Field1 Field2 Field3 Field4
NameF AddressF KeyC ValueF
Первая строка должна существовать во всех созданных рабочих книгах. Их значения Field3 отсортированы, это логика, которую я имел в c:
main(excel_file)
{
open(excel_file, r)
header = read(excel_file)
first_line = true
while not eof(excel_file)
{
line_cur = read(excel_file)
if first_line
{
office = get_office(line_cur)
office_file = open(name=office, w)
write(office_file, header)
write(office_file, line_cur)
line_prv = line_cur
first_line = false
continue
}
office_cur = get_office(line_cur)
office_prv = get_office(line_prv)
// If same group.
if office_cur = office_prv
{
write(office_file, line_cur)
line_prv = line_cur
continue
}
// If different group.
if office_cur != office_prv
{
close(office_file)
office_file = open(name=office_cur, w)
write(office_file, header)
write(office_file, line_cur)
line_prv = line_cur
continue
}
} // while end.
close(office_file)
close(excel_file)
}
Не могли бы вы, ребята, помочь мне понять, как реализовать эту логику в VBA? Ноль опыта в этом. Заранее спасибо.