Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2014, 12:09   #1
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию Группировка по отделам

Есть книга (K4.xlsx), который расположены записи как List1. Надо преобразовать эти данные как показано в k5.xlsx (Заранее этот файл не открыть). Т,е, надо группировать по отделам, при этом меняя место столбцами. Я попробовала это делать с помощи сводных таблиц. Но, у меня не получается как надо было. Помогите пожалуйста, можно ли делать это с помощи макросами?
Вложения
Тип файла: rar K45.rar (16.9 Кб, 17 просмотров)
Aqil_f вне форума Ответить с цитированием
Старый 10.02.2014, 13:20   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении. Откройте файл и запустите макрос "Main".
Вложения
Тип файла: rar k4_2.rar (13.0 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.02.2014, 13:45   #3
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

SAS888, спасибо. То что надо. Но, здесь открывается в том же листе. Как сделать так чтобы все это открывалась в другом закрытом книге?
Aqil_f вне форума Ответить с цитированием
Старый 10.02.2014, 13:46   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

удалил....
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 10.02.2014 в 13:49. Причина: удалил
Казанский вне форума Ответить с цитированием
Старый 10.02.2014, 13:48   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А в этой закрытой книге уже есть какие-то данные?
Нужно добавлять данные к этим записям? Заменять их? Поместить новые данные на новый лист?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.02.2014, 13:57   #6
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

В этой закрытой книге нет данные.
Но, понятно что, после 1-го запуска макроса там будет записи и в дальнейшем (2-й,3-й,...запуск) надо их заменить. Все время новые данные надо поместить в LIST1.
Aqil_f вне форума Ответить с цитированием
Старый 10.02.2014, 17:47   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении. Откройте файл "k4_3.xslm" и запустите макрос "Main". Файл "k5.xsls" должен находиться в этой же папке.
Вложения
Тип файла: rar Пример.rar (22.3 Кб, 12 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 11.02.2014 в 04:13.
SAS888 вне форума Ответить с цитированием
Старый 11.02.2014, 11:59   #8
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

SAS888, спасибо Вам, Вы очень помогли мне.
Aqil_f вне форума Ответить с цитированием
Старый 12.02.2014, 12:29   #9
Aqil_f
Форумчанин
 
Регистрация: 12.05.2009
Сообщений: 273
По умолчанию

SAS888, у меня еще 1 вопрос появился по этому задачу.
Если в 1-м книге много столбцы, а 2-ю книгу надо копировать несколько из них, тогда ошибка (Subscript out of range) получается. Я понимаю что это значит индекс вышел за пределы массива. Но, ни как не могу решать эта задачу. Помогите пожалуйста.
Aqil_f вне форума Ответить с цитированием
Старый 12.02.2014, 14:42   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Фрагмент кода макроса
Код:
For i = 1 To UBound(a, 2)
    .Range(.Cells(1, i), .Cells(UBound(a, 1), i)).Value = Application.Index(a, 0, b(i))
Next
означает, что мы перебираем все столбцы массива "a" по порядку (в примере их 7), а выгружаем их на лист согласно порядку, указанному в массиве "b"
Код:
b = Array(5, 4, 2, 6, 7, 1, 3)
Если этого пояснения Вам не достаточно, то прикрепите файл с исходными данными и файл с требуемым результатом. А также, подробно опишите задачу.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Группировка hata77 Microsoft Office Excel 3 18.10.2012 12:15
группировка Iskin Microsoft Office Excel 4 26.12.2011 11:21
Кратко в файле дневной отчет набивается вручную продажи за день по отделам, надо что бы при сравнении кода суммировать к grinia Помощь студентам 5 09.07.2011 06:19
Группировка Pretorianec79 Microsoft Office Excel 2 19.01.2010 14:36
вакансию по отделам Aqil_f Microsoft Office Excel 10 06.10.2009 01:16